构造函数ArrayAdapter <string>(int,ArrayList <string>)未定义</string> </string>

时间:2013-12-31 04:09:46

标签: android arrays android-arrayadapter

好吧标题说明了一切。我不确定为什么它不想工作。

这是在AsyncWorker中,因此可能是问题所在。此外,变量不在受保护的方法之内,但在内部时也是如此。

private class MyAsyncTask extends AsyncTask<String, String, String> {


    ListView workersList = (ListView)findViewById (R.id.workers_list);
    ArrayList<String> itemsList = new ArrayList<String>();


    protected String doInBackground(String... arg0) {

然后在

ArrayAdapter<String> adapter = new ArrayAdapter<String>(android.R.layout.simple_list_item_1, itemsList);

3 个答案:

答案 0 :(得分:7)

你忘记了context parameter。改为:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(<ActivityName>.this, android.R.layout.simple_list_item_1, itemsList);

<ActivityName>替换为您的活动类名称。

答案 1 :(得分:2)

查看ArrayAdapter上的文档。它没有带参数的构造函数(int,ArrayList)。如果您也预先添加了上下文,那么您将拥有一个存在的构造函数。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(<ActivityName>.this, android.R.layout.simple_list_item_1, itemsList);

更多信息:http://developer.android.com/reference/android/widget/ArrayAdapter.html

答案 2 :(得分:0)

您需要添加上下文以匹配所需的参数。

更改您的代码:  ArrayAdapter adapter = new ArrayAdapter(android.R.layout.simple_list_item_1,itemsList);

定义你的背景,

上下文上下文; ArrayAdapter mArrayAdapter; 。 。 。 在设置适配器时,  mArrayAdapter = new ArrayAdapter(context,android.R.layout.simple_list_item_1,itemsList); mListView.setAdapter(mArrayAdapter);

希望这会有所帮助.. :)