【问题标题】:Clickable Links inside listview列表视图内的可点击链接
【发布时间】:2012-04-23 08:53:21
【问题描述】:

列表视图可点击链接问题。

我在 getView() 中使用以下代码在列表视图中生成可点击的链接。

myTextView.setMovementMethod(LinkMovementMethod.getInstance());
String linkText = "<a href=\"http://www.google.com\">Google</a>";
myTextView.setText(Html.fromHtml(linkText));

此代码在不在列表视图中的文本视图上运行良好,但是当我将它用于列表视图中的文本视图时,单击链接时会引发以下异常。

AndroidRuntimeException: Calling startActivity() from outside of an Activity
context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

【问题讨论】:

  • 我觉得有些奇怪..这段代码在自定义适配器中,对吧?里面有onClickListener吗?
  • 是的,这是在自定义适配器 getView 方法中。不,它没有和 onClickListner。
  • umm.. 我发现了这个stevenmarkford.com/… 不知道它是否有帮助
  • 谢谢,但我找到了一个更简单的解决方法。会在某个时候发布。

标签: android android-listview android-activity textview


【解决方案1】:

得到答案here。我只需要将构造函数调用从

CustomAdapter mAdapter = new CustomAdapter( mContext, itemList);

CustomAdapter mAdapter = new CustomAdapter( this, itemList);

【讨论】:

  • 很好的答案,适合那些难以解决的人。简单地说,从您初始化Adapter 的位置开始,无论是任何适配器CustomAdapterArrayAdapter 还是您的常规BaseAdapter,只需输入this 而不是getApplicationContext() 或其他东西
  • 非常感谢,想弄清楚为什么会出现这个错误,我快疯了:)
【解决方案2】:
   TextView textView2 = (TextView)findViewById( R.id.TextView2 );
   SpannableStringBuilder ssb = new SpannableStringBuilder( http://google.com" );
   textView2.setText( ssb, BufferType.SPANNABLE );
   Linkify.addLinks( textView2, Linkify.WEB_URLS );

     Try this one....

【讨论】:

    【解决方案3】:

    我遇到的问题是 ApplicationContext 被用于膨胀视图。 改成ActivityContext,现在可以了!

    【讨论】:

      猜你喜欢
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多