通过Web服务,我收到一条包含链接的错误消息(例如
Click <a href='blablabla'>here</a>
)。我使用fromHtml将其转换为跨区,然后在自定义Toast中显示它。吐司内部显示文本,"此处"下划线,就像链接一样。然而,当我点击它时,它什么也不做。
我应该如何解决这个问题?有没有办法从xml中扣除链接(例如
<ERROR>Click <a href='blabla'>here</a></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的设计目的是在短时间内将少量信息放在用户面前。如果你需要按下按钮,试着用对话框而不是吐司。