Android make Spanned包含可在Toast中点击的链接

时间:2012-08-01 01:11:45

标签: android html toast clickable

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

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

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

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

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

)所以我可以创建一个推按钮 这会打开Webview中的链接吗?

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

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

CommonCode

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

1 个答案:

答案 0 :(得分:1)

Toast旨在将少量信息放在用户面前一小段时间。如果您需要按下按钮,请尝试对话而不是祝酒。