0

文字列変数に格納した WebService から文字列応答を受信して​​います。

リンクをキャッチするロジックを実装した文字列応答でハイパーリンクを取得することがあります。

アラート ダイアログでその文字列応答を表示しています。

私の懸念は、現在起こっているケースである文字列内のリンクを見つけるとすぐにではなく、そのリンクへのクリックでリンクを開く必要があることです。

私のコード:

String strTipsMessage = beanTXTIconShowTips.getTips();
                if (strTipsMessage.contains("http")) 
                {
                    String strHyperLink = strTipsMessage.substring(strTipsMessage.indexOf("http"), strTipsMessage.length());
                    if (strHyperLink != null)  
                    {
                        Intent intent = new Intent(Intent.ACTION_VIEW);
                        intent.setData(Uri.parse(strHyperLink));
                        startActivity(intent); 
                    }

                    AndroidLog.i(TAG, "strHyperLink : --- " + strHyperLink); 
                    AndroidLog.i(TAG, "Tips_Message : --- > " + strTipsMessage);
                }

Utility.showDialogForTips(ActConversations.this, "本日のヒント...", strTipsMessage, R.drawable.icon_tips, "OK");

ありがとう、デビッド

4

2 に答える 2

0

私が理解しているように、あなたの問題がありました。TextViewset the text or the url valueその TextViewを作成することをお勧めします。その TextView にクリック リスナーを追加し、ユーザーが URL テキストをクリックしたときにインテントを起動します。

コード

TextView t = (TextView) findViewById(R.id.url);
t.setText("http://developer.android.com/training/animation/screen-slide.html");
t.setOnClickListener(clickListener);

これは、テキストビューのクリックを聞くリスナーです

OnClickListener clickListener = new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        TextView vi = (TextView) v;
        //Toast.makeText(getApplicationContext(), vi.getText(), Toast.LENGTH_SHORT).show();
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(vi.getText()));
        startActivity(intent);
    }
};
于 2013-10-09T09:37:16.167 に答える
0

Linkifyはあなたが探しているものだと思います。テキストを URL にリンクして、クリックされたときに適切に機能するようにすることができます。

これこのリンクを参照してください。

于 2013-10-09T09:30:29.587 に答える