1

面临下一个问题:

我的应用程序从服务器接收一些 HTML 格式的数据。我在 TextView 中显示它。文本肯定可以包含链接 ( <a href="http://www.google.com">)。例如,在this question clarifications之后,使链接可点击不是问题。

mTvContent = (TextView) mView.findViewById(R.id.tv_content);
mTvContent.setMovementMethod(LinkMovementMethod.getInstance());

上面的代码可以完美运行,直到服务器向我发送一个没有 HTML 方案标识符的链接,例如<a href="www.google.com">

单击此类链接将导致明显的异常:

E/AndroidRuntime(10646): android.content.ActivityNotFoundException: 没有找到处理 Intent { act=android.intent.action .VIEW dat=www.google.com (has extras) } E/AndroidRuntime(10646): 在 android .app.Instrumentation.checkStartActivityResult(Instrumentation.java:1683) E/AndroidRuntime(10646): 在 android.app.Instrumentation.execStartActivity(Instrumentation.java:1554) E/AndroidRuntime(10646): 在 android.app.Activity.startActivityForResult (Activity.java:3409) E/AndroidRuntime(10646): 在 android.app.Activity.startActivityForResult(Activity.java:3370) E/AndroidRuntime(10646): 在 android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity .java:817) E/AndroidRuntime(10646):在 android.app.Activity.startActivity(Activity.java:3580) E/AndroidRuntime(10646):在 android.app。Activity.startActivity(Activity.java:3548) E/AndroidRuntime(10646):在 android.text.style.URLSpan.onClick(URLSpan.java:62) E/AndroidRuntime(10646):在 android.text.method.LinkMovementMethod。 onTouchEvent(LinkMovementMethod.java:212) E/AndroidRuntime(10646): 在 android.widget.TextView.onTouchEvent(TextView.java:7770) E/AndroidRuntime(10646): 在 android.view.View.dispatchTouchEvent(View.java: 7198)

实际上我可以解析收到的 HTML 代码和“修复”链接,但我不喜欢这个想法。有人可以提出任何可能的解决方案来处理“断开”的链接吗?

4

0 回答 0