【发布时间】:2012-08-02 18:45:58
【问题描述】:
我的ArrayAdapter 中有一个TextView,其中可能包含一些超链接。对于那些我使用Linkify的链接:
public View getView(int position, View convertView, ViewGroup parent) {
View rowView = convertView;
if (rowView == null) {
rowView = inflater.inflate(R.layout.list_item_2, null);
holder = new ViewHolder();
holder.content = (TextView) rowView.findViewById(R.id.postContent);
holder.date = (TextView) rowView.findViewById(R.id.postDate);
rowView.setTag(holder);
} else {
holder = (ViewHolder) rowView.getTag();
}
holder.content.setText(contents.get(position));
holder.date.setText(dates.get(position));
Linkify.addLinks(holder.content, Linkify.ALL);
return rowView;
}
但是因为 Linkify 被添加到了 ArrayAdapter 中,我得到一个异常说:
08-05 16:42:16.715: E/AndroidRuntime(20598): FATAL EXCEPTION: main
08-05 16:42:16.715: E/AndroidRuntime(20598): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
08-05 16:42:16.715: E/AndroidRuntime(20598): at android.app.ContextImpl.startActivity(ContextImpl.java:921)
08-05 16:42:16.715: E/AndroidRuntime(20598): at android.content.ContextWrapper.startActivity(ContextWrapper.java:283)
08-05 16:42:16.715: E/AndroidRuntime(20598): at android.text.style.URLSpan.onClick(URLSpan.java:62)
我怎样才能做到这一点?我想不出替代方案。
【问题讨论】:
-
您确定这就是您在 logcat 中找到的全部内容吗?在我看来,还有一些例外情况可能包含有价值的信息。
-
不,这是关于在活动上下文(ArrayAdapter)之外运行活动
标签: android android-listview android-arrayadapter linkify