如何在Android中正确设置ArrayAdapter

时间:2011-11-04 15:30:07

标签: android android-listview

我正在尝试使用动态字段在Android中创建ListView。首先,我尝试使用静态字段进行设置,如下所示(String [] chars)

String[] chars = {"TEST"};
setListAdapter(new ArrayAdapter<String>(this,R.layout.resultlist,chars));

它给了我错误The constructor ArrayAdapter<String>(ViewTranslationsList.GrabURL, int, int) is undefined。问题出在哪里?

我想在设置ArrayAdapter for循环之前将项添加到chars数组。

由于

4 个答案:

答案 0 :(得分:3)

看起来你在内部类中执行此操作(因为错误提到了ViewTranslationsList.GrabURL。如果确实如此,请尝试这样做:

setListAdapter(new ArrayAdapter<String>(ViewTranslationsList.this,R.layout.resultlist,chars));

答案 1 :(得分:1)

当您调用ArrayAdapter构造函数时,看起来您不在您的Activities上下文中。尝试改变它:

setListAdapter(new ArrayAdapter<String>(yourActivityName.this,R.layout.resultlist,chars));

虽然这可能不是你唯一的问题,因为根据错误,似乎认为chars因某种原因是一个int。

答案 2 :(得分:0)

此处thisViewTranslationsList.GrabURL

ListView l = (ListView)findViewById(R.id.some)
l.setListAdapter(new ArrayAdapter<String>(SomeActivity.this,R.layout.resultlist,chars));

您必须通过ContextViewTranslationsList.GrabURL不是Context

答案 3 :(得分:0)

我不是关于你的问题,但如果你不知道android中的标准布局。

  l.setListAdapter(new ArrayAdapter<String>(SomeActivity.this,android.R.layout.simple_list_item_1,chars));

l.setListAdapter(new ArrayAdapter<String>(SomeActivity.this,android.R.layout.simple_list_activated,chars));

l.setListAdapter(new ArrayAdapter<String> (SomeActivity.this,android.R.layout.simple_list_item_multiple_choice,chars));
l.setOnChoise(LISTVIEW.SET_MULTICHOISE_MODE);

阅读标准布局。 http://developer.android.com/reference/android/R.layout.html