0

I want to add to my app a link to a Twitter account. In Settings, a user puts their login and I want this login (which is in @string/pref_tw_login) to occur after "twitter.com/".

I have these resources in strings.xml:

<string name="pref_header_twitter">Twitter</string>

<string name="pref_tw_on">Turn on Twitter</string>
<string name="pref_tw_login">Your Twitter login</string>
<string name="pref_tw_pass">Your Twitter password</string>
<string name="twitter">twitter.com/</string>
/>

And I have these lines in content_main.xml:

<TextView
    android:id="@+id/data_tw"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/data_fb"
    android:layout_alignParentStart="true"
    android:layout_marginTop="32dp"
    android:text="" />

<TextView
    android:id="@+id/tw_link"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="29dp"
    android:layout_marginTop="123dp"
    android:autoLink="web"
    android:linksClickable="true"
    android:text="@string/twitter" />

And in MainActivity.java:

pref = PreferenceManager.getDefaultSharedPreferences(this);
    Boolean tw_on = pref.getBoolean("twitter_on", false);
    textView = (TextView) findViewById(R.id.data_tw);

    if(tw_on) {
        textView.setText("Your Twitter login: " + pref.getString("twitter_login", "none"));
    } else {
        textView.setText("Twitter off");
    }
Andy Piper
  • 11,422
  • 2
  • 26
  • 49
kajarek
  • 1
  • 1
  • I've changed textView.setText("Your Twitter login: " + pref.getString("twitter_login", "none")); to: textView.setText(Html.fromHtml(twitter.com/ + pref.getString("twitter_login", "none"))); but it doesn't work. – kajarek May 20 '19 at 14:44
  • I've also tried this: String text = " Twitter "; String text2 = pref.getString("twitter_login", "none"); textView.setText(Html.fromHtml(text + text2)); – kajarek May 20 '19 at 15:01
  • You could check the answers of this SO question: https://stackoverflow.com/questions/2734270/how-do-i-make-links-in-a-textview-clickable/2746708#2746708 – bergestahl May 20 '19 at 18:33
  • @bergestahl This doesn't solve my problem, but thank you. – kajarek May 21 '19 at 13:35
  • The value with Twitter account name (which a user provides) should be pasted after twitter.com/ so that a user can go to this account. I also tried something like this: ((TextView) findViewById(R.id.tw_link)).setMovementMethod(LinkMovementMethod.getInstance()); ((TextView) findViewById(R.id.tw_link)).setText(Html.fromHtml(pref.getString("twitter_on", String.valueOf(false)))); – kajarek May 21 '19 at 13:41

0 Answers0