安卓系统使Spanned包含的链接可以在Toast中点击



通过Web服务,我收到一条包含链接的错误消息(例如

Click <a href='blablabla'>here</a>

)。我使用fromHtml将其转换为跨区,然后在自定义Toast中显示它。吐司内部显示文本,"此处"下划线,就像链接一样。然而,当我点击它时,它什么也不做。

我应该如何解决这个问题?有没有办法从xml中扣除链接(例如

<ERROR>Click &lt;a href='blabla'&gt;here&lt;/a&gt;</ERROR>

)这样我就可以创建一个按钮哪个打开Webview中的链接?

以下是相关代码:我的主要活动

CommonCode.showToast(error, mContext, mViewGroup, true);

通用代码

public static void showToast(Spanned toastString, Context context, View view, Boolean isLink) {
    LayoutInflater inflater = LayoutInflater.from(context);
    View layout = inflater.inflate(R.layout.toast_layout, (ViewGroup) view);
    TextView text = (TextView) layout.findViewById(R.id.toastText);
    if(isLink == true) {
        text.setMovementMethod(LinkMovementMethod.getInstance());
    }
    text.setText(toastString);
    Toast toast = new Toast(context);
    toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
    toast.setDuration(Toast.LENGTH_LONG);
    toast.setView(layout);
    toast.show(); 
}

Toast的设计目的是在短时间内将少量信息放在用户面前。如果你需要按下按钮,试着用对话框而不是吐司。

相关内容

  • 没有找到相关文章

最新更新