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

正如我理解你的问题。我可以建议你对那个 TextView做一个TextView和。set the text or the url value向该 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 回答