从Android中的整个字符串中捕获超链接的Click事件

时间:2013-10-09 09:20:50

标签: android

我收到来自WebService的字符串响应,我已将其存储在字符串变量中。

有时我会在字符串响应中获得超链接,我已经实现了逻辑以捕获链接。

我在警告对话框中显示字符串响应。

我担心的是,我需要在Click to the Link上打开链接,而不是在它现在发现的情况下发现字符串中的链接。

我的代码:

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”);

谢谢, 大卫

2 个答案:

答案 0 :(得分:0)

我认为Linkify是您正在寻找的东西。您可以将文本链接到某个URL,以便在单击时将其正常运行。

参考thisthis链接。

答案 1 :(得分:0)

我坚持你的问题。我建议您为该TextView制作TextViewset the text or the url value。向该TextView添加单击侦听器,并在用户单击url文本时触发intent。

<强>代码

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

这是监听textview的监听器点击

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);
    }
};