0

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

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

)。我使用 fromHtml 将其转换为 spanned,然后在自定义 Toast 中显示。在 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(); 
}
4

1 回答 1

1

Toast 的设计目的是在短时间内向用户展示少量信息。如果您需要按下按钮,请尝试使用对话框而不是吐司。

于 2012-09-06T09:59:47.140 回答