ArrayAdapter中未定义构造函数

时间:2013-04-19 20:49:16

标签: java android mobile

我正在尝试在Android应用中填充ListView控件。我看了很多代码示例,似乎都建议这样做。但是,当我尝试实现这一点时,我收到以下错误:

构造函数ArrayAdapter(MainActivity.ReadJsonTask,int,ArrayList)未定义

    protected void onPostExecute(String result){
        try{
            ListView lv = (ListView)findViewById(R.id.lstItems);
            JSONObject jsonObj = new JSONObject(result);

            ArrayList<String> items = new ArrayList<String>();
            Iterator<String> looper = jsonObj.keys();
            while(looper.hasNext()){
                String key = looper.next();
                items.add(jsonObj.get(key).toString());
            }               
            adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
            lv.setAdapter(adapter);

        }catch(Exception ex){
            Log.d("ReadAdscendJsonTask", ex.getLocalizedMessage());
        }
    }

这里有什么问题?谢谢!

1 个答案:

答案 0 :(得分:1)

似乎这段代码来自内部类。在这种情况下,this引用此内部类而不是MainActivity。将Context参数更改为MainActivity.this的{​​{1}}可以解决错误。