1

重複の可能性:
TextView のリンクをクリック可能にするにはどうすればよいですか?

3 つのフラグメントを持つ FragmentActivity があります。フラグメントビューを構築するフラグメントごとに個別のクラスがあります。

このプロセスでは、Web リンクを含むいくつかのクリック可能なテキストビューを作成します。すべてが正しいようで、テキストビューはクリック可能に見えます。しかし、テキストビューをクリックしても何も起こりません。

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