如何使Textview可单击,以便在Web浏览器中打开URL

时间:2015-02-07 11:54:54

标签: android

很抱歉问这个新手问题,因为我是Android开发的新手。 应该在main.java中输入什么代码?

<resources>
<string name="strname">Clickable Text<a href="http://domain.com">Visit Website</a></string>
</resources>



<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:autoLink="web"
android:text="@string/strname"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />

6 个答案:

答案 0 :(得分:4)

您可以使用Linkfy

TextView textView = (TextView) findViewById(R.id.textView);
textView.setText("http://www.google.com");
Linkify.addLinks(textView, Linkify.WEB_URLS);

来自文档

  

Linkify采取一段文字和一个正则表达式并将其全部转换   正则表达式在文本中匹配为可点击的链接

答案 1 :(得分:2)

在textview点击事件中写下:

 Uri uri = Uri.parse("http://domain.com");
 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
 startActivity(intent);

打开您的网址。

答案 2 :(得分:2)

在Code中不执行任何操作只需将android:autoLink =“web”包含在Textview XML中,如

<Textview . ..... .....
          android:autoLink="web"/>

上面的代码可以使TextView字符串中的任何链接都可以点击...

答案 3 :(得分:1)

 YOURTEXTVIEWNAME.setOnClickListener(new OnClickListener() {
        public void onClick(View arg0) {

            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setData(Uri.parse("http://domain.com"));
            startActivity(intent);
        }

    });

您想知道的术语是intent,onClickListener和URI。欢迎新手。

答案 4 :(得分:1)

您可以使用Html.fromHtml将字符串中的html标记转换为链接和相应的格式,setMovementMethod可以自动处理链接点击。

TextView tv = (TextView)findViewById(R.id.textView);
String s = getString(R.string.strname);
tv.setText(Html.fromHtml(s));
tv.setMovementMethod(LinkMovementMethod.getInstance());

答案 5 :(得分:0)

final TextView view = (TextView) findViewById(R.id.textview);
view.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// request your webservice here. Possible use of AsyncTask and  ProgressDialog
// show the result here - dialog or Toast
}

};);

我认为这会对你有所帮助。

最重要的是在android视图中,您可以为视图中的任何项目定义onclick服务