gpt4 book ai didi

android - 在 ListView 的 ArrayAdapter 中使用 Linkify 导致 RuntimeException

转载 作者:行者123 更新时间:2023-11-29 15:26:42 25 4
gpt4 key购买 nike

我的 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;
}

但是因为在 ArrayAdapter 中添加了 Linkify,所以我得到一个异常说明:

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)

我怎样才能使这项工作?我想不出替代方案。

最佳答案

查看日志中的异常,似乎您在分配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) {
// ...
}
});

您必须使用应用程序上下文初始化上面的 context 变量,如下所示:

    Context context = getApplicationContext();

为避免该错误,您应该使用 Activity 实例对其进行初始化:

    Context context = this;

或者,如果您的代码在 Fragment 中:

    Context context = getActivity();

关于android - 在 ListView 的 ArrayAdapter 中使用 Linkify 导致 RuntimeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11817402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com