【问题标题】:The constructor ArrayAdapter<String>(int, ArrayList<String>) is undefined构造函数 ArrayAdapter<String>(int, ArrayList<String>) 未定义
【发布时间】:2013-12-31 04:09:45
【问题描述】:

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

这是在 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);

【问题讨论】:

  • 您需要在构造函数中添加上下文。如果您只是查看the documentation,则非常容易找到此答案。

标签: android arrays android-arrayadapter


【解决方案1】:

您忘记了context parameter。改为:

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

&lt;ActivityName&gt; 替换为您的活动类的名称。

【讨论】:

  • 好的,如果我的活动被命名为 MainActivity 它将是 ArrayAdapter adapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, itemsList);?
【解决方案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

【讨论】:

    【解决方案3】:

    您需要添加一个上下文来匹配所需的参数。

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

    定义你的上下文,

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      相关资源
      最近更新 更多