tol*_*gap 1 android linkify android-arrayadapter android-listview
我有一个TextView在我ArrayAdapter可能包含一些超链接.对于我使用的那些链接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;
}
Run Code Online (Sandbox Code Playgroud)
但是因为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)
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我想不出另类.
查看日志中的异常,您似乎在分配时使用了应用程序上下文ArrayAdapter.例如,如果您的代码与以下内容类似:
listView.setAdapter(new ArrayAdapter<String>(context,
android.R.layout.simple_list_item_1,
data) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// ...
}
});
Run Code Online (Sandbox Code Playgroud)
您必须使用应用程序上下文初始化上面的上下文变量,如下所示:
Context context = getApplicationContext();
Run Code Online (Sandbox Code Playgroud)
为避免错误,您应该使用您的Activity实例初始化它:
Context context = this;
Run Code Online (Sandbox Code Playgroud)
或者,如果您的代码位于Fragment:
Context context = getActivity();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1602 次 |
| 最近记录: |