Java 对ListView使用ArrayAdapter时出现错误
我试图将字符串添加到一个Java 对ListView使用ArrayAdapter时出现错误,java,android,listview,android-arrayadapter,Java,Android,Listview,Android Arrayadapter,我试图将字符串添加到一个列表视图,该列表视图在另一个列表视图中被调用(在监听器中更改ContentView) 代码如下: lv1.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) { // TODO Auto-generated met
列表视图
,该列表视图在另一个列表视图
中被调用(在监听器
中更改ContentView)
代码如下:
lv1.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
long arg3) {
// TODO Auto-generated method stub
if(lv1.getItemAtPosition(pos).equals(cat[0]))
{
setContentView(R.layout.browse_engineering);
final ListView engList = (ListView)findViewById(R.id.eng_list);
engList.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,eng_build));
}
}
});
lv1.setOnItemClickListener(新的OnItemClickListener(){
公共链接(适配器视图arg0、视图arg1、内部位置、,
长arg3){
//TODO自动生成的方法存根
if(lv1.getItemAtPosition(pos).equals(cat[0]))
{
setContentView(R.layout.browse_engineering);
最终ListView Englisht=(ListView)findViewById(R.id.eng_列表);
setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,eng_build));
}
}
});
这就是我得到的错误:
更换此
engList.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,eng_build));
Englisht.setAdapter(新的ArrayAdapter(这是android.R.layout.simple_list_item_1,eng_build));
由此,
engList.setAdapter(new ArrayAdapter<String>(yourActivity.this,android.R.layout.simple_list_item_1,eng_build));
Englisht.setAdapter(新的ArrayAdapter(yourActivity.this,android.R.layout.simple_list\u item\u 1,eng_build));
由于onItemClickListners不是上下文因此
ArrayAdapter
构造函数希望将上下文作为第一个参数;活动是上下文。由于您是在OnItemClickListener
中实例化它,因此this
关键字并不引用该活动。这需要修正,好的,明白了。谢谢大家