Android 为什么我不能实例化新变量?

Android 为什么我不能实例化新变量?,android,android-asynctask,instantiation,Android,Android Asynctask,Instantiation,我正在使用AsyncTask类。。。我的目标是有一个列表,当点击搜索按钮时,使“搜索…”字符串在搜索时出现在列表中。。。为此,我尝试在onPreExecute()中实例化一个适配器 私有类SearchTask扩展了异步任务{ 受保护的void onPreExecute(){ 字符串[]字符串=新字符串[]{“搜索”}; ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,字符串); mSearchButt

我正在使用AsyncTask类。。。我的目标是有一个列表,当点击搜索按钮时,使“搜索…”字符串在搜索时出现在列表中。。。为此,我尝试在onPreExecute()中实例化一个适配器

私有类SearchTask扩展了异步任务{
受保护的void onPreExecute(){
字符串[]字符串=新字符串[]{“搜索”};
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,字符串);
mSearchButton.setEnabled(false);
}
//其他方法
}
编译器在
newarrayadapter中给了我一个错误(这是android.R.layout.simple\u list\u item\u 1,字符串)

它说:
构造函数ArrayAdapter(SearchActivity.SearchTask,int,ArrayList)未定义


有没有办法解决这个问题?

参数不正确。看看

ArrayAdapter=新的ArrayAdapter(YourActivity.this,
android.R.layout.simple_list_item_1,字符串);

参数不正确。看看

ArrayAdapter=新的ArrayAdapter(YourActivity.this,
android.R.layout.simple_list_item_1,字符串);

因为
SearchActivity.SearchTask
不是
活动
(或者在更一般的场景中是
上下文
)。您应该使用
SearchActivity.this
而不是简单地引用类型为
SearchActivity.SearchTask
的子类的
this

因为
SearchActivity.SearchTask
不是
活动
(或者在更一般的场景中是
上下文
)。您应该使用
SearchActivity.this
而不是简单地引用类型为
SearchActivity.SearchTask
的子类的
this

因为您的参数错误 ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,字符串)

(上下文、int、对象[])

您输入了“this”,但“this”不是上下文

如果在SearchTask中使用“this”,则表示不在上下文中使用


因此,您使用了“getparent()”而不是“this”

,因为您的参数是错误的 ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,字符串)

(上下文、int、对象[])

您输入了“this”,但“this”不是上下文

如果在SearchTask中使用“this”,则表示不在上下文中使用


因此,您使用“getparent()”而不是“this”

我想这是
this
的问题

SearchActivity
中添加成员变量:

private Context mContext = this;
然后改变:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, strings);
ArrayAdapter adapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,字符串);

ArrayAdapter=新的ArrayAdapter(mContext,android.R.layout.simple\u list\u item\u 1,字符串);

我想这是
的问题

SearchActivity
中添加成员变量:

private Context mContext = this;
然后改变:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, strings);
ArrayAdapter adapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,字符串);

ArrayAdapter=新的ArrayAdapter(mContext,android.R.layout.simple\u list\u item\u 1,字符串);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1, strings);