我正在尝试使用动态字段在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
数组。
由于
答案 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)
此处this
为ViewTranslationsList.GrabURL
ListView l = (ListView)findViewById(R.id.some)
l.setListAdapter(new ArrayAdapter<String>(SomeActivity.this,R.layout.resultlist,chars));
您必须通过Context
,ViewTranslationsList.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