我有一个包含三个片段的FragmentActivity。我为每个片段创建了一个单独的类,我在其中构建了片段视图。
在这个过程中,我使用weblink创建了几个可点击的textview。似乎一切都是正确的,文本视图看起来是可点击的。但是当我点击文本视图时没有任何反应。
为什么在TextViewClick上什么也没发生?我希望看到一个可以打开链接的浏览器列表。
我发现了很多类似的问题,但到目前为止我的代码中找不到错误。类似的问题:
这是我的LinksFragment代码。在FragmentActivity本身上创建类的实例以显示此片段:
public class LinksFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return generateView(inflater, container);
}
private View generateView(LayoutInflater inflater, ViewGroup container){
// inflate layout
View view = inflater.inflate(R.layout.fragment_links, container, false);
// find controls
LinearLayout list = (LinearLayout) view.findViewById(R.id.fragment_links_list);
// generate list
String[] links = getActivity().getApplicationContext().getResources().getStringArray(R.array.links);
for (int i = 0; i < links.length; i++) {
list.addView(generateClickableTextView(links[i]));
}
return view;
}
private TextView generateClickableTextView(String text){
TextView clickableTextView = new TextView(getActivity());
clickableTextView.setMovementMethod(LinkMovementMethod.getInstance());
clickableTextView.setText(Html.fromHtml(text));
return clickableTextView;
}
}
链接数组:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="links">
<item><a href="http://www.google.com">- Google</a></item>
<item><a href="http://www.bing.com">- Bing</a></item>
<item><a href="http://www.yahoo.com">- Yahoo</a></item>
<item><a href="http://www.youtube.com">- Youtube</a></item>
<item><a href="http://www.Vimeo.com">- Vimeo</a></item>
</string-array>
</resources>
编辑解决方案:
我的问题的解决方案是在这篇文章中:
https://stackoverflow.com/a/10125089/1306012
我只需要替换所有“&lt;”用“&amp; lt;” (没有空格)