【发布时间】:2016-04-07 12:52:16
【问题描述】:
首先,我先说我去过这两个:
question 1 about this subject, question 2 about this subject 两者都让我失望了。 其次,我的应用基于单个地图片段,我不知道这是否是个问题,但 TextView 是显示在地图上的信息窗口的一部分。
我在 xml 中有以下 TextView:
<TextView
android:id="@+id/tv_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:linksClickable="true"
android:autoLink="web" />
我想把它做成一个链接,我正在以编程方式输入文本,并且可以按原样查看文本,但它不可点击或“超链接”。 以下是我在我的活动中设置 TextView 的部分:
TextView tvLink = (TextView) v.findViewById(R.id.tv_link);
// make the link clickable
tvLink.setClickable(true);
tvLink.setMovementMethod(LinkMovementMethod.getInstance());
String text = (String) urls.get(arg0.getTitle());
// Setting the link url
tvLink.setText(Html.fromHtml(text));
我也尝试过让 TextView 具有android:onClick="openBrowser" 的属性并让这个类打开浏览器:
public void openBrowser(View view){
//Get url from tag
String url = (String)view.getTag();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
//pass the url to intent data
intent.setData(Uri.parse(url));
startActivity(intent);
}
但它也没有工作。在尝试不同的方法时我可能会弄得一团糟,但我确实尝试将每次尝试分开。我很困惑,需要看一看。
编辑 1: 添加了以下内容:
- res 文件中的字符串(在字符串数组中)
Click here for more info about this location
(在这里有效,所以我认为它应该是需要的合法链接)
-
我在评论中要求的整个 XML 文件
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/tv_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold" android:layout_gravity="center_horizontal" /> <TextView android:id="@+id/tv_info" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv_link" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="20dp" /> </LinearLayout> <ImageView android:id="@+id/iv_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:layout_gravity="center_horizontal" android:layout_marginTop="20dp" />
【问题讨论】:
-
我已经添加了完整的 XML。我的 values\arrays 文件夹中有一个字符串数组,我得到的文本没问题,只是不可点击(我在编辑的这个字符串数组中为我的
- 添加了一个示例)
标签: android hyperlink onclick textview