如何使Textview可点击,以便在web浏览器中打开url



很抱歉问这个新手问题,因为我是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" />

您可以使用Linkfy:

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

从文件

Linkify获取一段文本和一个正则表达式,然后将所有正则表达式在文本中匹配到可点击的链接

在文本视图中点击事件,写下:

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

打开您的URL。

在代码中什么都不做,只需将android:autoLink="web"包含到像一样的Textview XML中

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

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

 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。欢迎新手光临。

您可以使用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());
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服务

最新更新