1

可能重复:
如何使 TextView 中的链接可点击?

我有一个带有三个片段的 FragmentActivity。我在其中构建片段视图的每个片段都有一个单独的类。

在这个过程中,我创建了几个带有网络链接的可点击文本视图。似乎一切都是正确的,并且文本视图似乎是可点击的。但是当我点击一个文本视图时没有任何反应。

为什么在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

我只需要用“<”替换所有“<” (没有空格)

感谢https://stackoverflow.com/users/634474/dymmeh引导我阅读这篇文章。

4

0 回答 0