web-dev-qa-db-ja.com

androidのTextView内のオートリンク

テキストビューの一部にオートリンクを与える方法は?たとえば、TextView内の私のテキストは、「ここをクリックしてこのWebページを開く」です。 「ここ」というテキストのみのリンクを表示したい。そして、私は「ここ」というテキストのクリックをクリックしてそのWebページを開くべきですが、TextViewのどこにも開かないでください。

19
Rahul Baradia

String.xmlに文字列を入れます

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="txtCredits">Support: <a href="http://www.stackoverflow.com">click here</a></string>
</resources>

そして、あなたはこのようにtextViewでそれを使うことができます:

<TextView
        Android:layout_width="fill_parent"
        Android:id="@+id/text"
        Android:layout_height="wrap_content"
        Android:autoLink="web"
        Android:gravity="center"
        Android:linksClickable="true"
        Android:text="@string/txtCredits" />

[〜#〜]編集[〜#〜]

上記のコードは何らかの理由で正しく機能しません。したがって、以下のコードも追加し、

TextView t2 = (TextView) findViewById(R.id.text);
t2.setMovementMethod(LinkMovementMethod.getInstance());
35
asish

TextviewsはHTMLを表示できるため、問題を解決できます。クリック可能なものをハイパーリンクでラップします。

String html = "My link is <a href=\"http://google.com\">here</a>";
myTextView.setText(Html.fromHtml(html));
8
Joakim Berglund

strings.xmlで単純なUrlを使用します。

<string name="autolink_val">Please Click Here : http://www.google.com</string>

そしてJavaコードでこれを書いてください:

<TextView Android:id="@+id/linkVal"   
          Android:layout_width="wrap_content" 
          Android:layout_height="wrap_content" 
          Android:autoLink="web" 
          Android:text="@string/autolink_val1"/>`
2
Agam Shah

次のコードでテストできます。

 <TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="http://www.yahoo.com"
    Android:autoLink="web"
    />
1
saleem kalro

Strings.xmlでHTML構文を使用します。

<string name="test">Click &lt;a href="http://vtuhtan.info"&gt;here&lt;/a&gt;</string>

TextViewプロパティを設定して、クリック可能なリンクと自動リンクを設定します。

TextView tv = findViewById(R.id.textView);
tv.setText(Html.fromHtml(getResources().getString(R.string.test)));
1
vtuhtan