我一直在努力寻找实现ListView动作监听器的正确方法。我真正想要实现的是创建一个ListView,每当用户点击任何项目时,前一个Activity将被切换。我真的很新,所以请帮助我,我会非常感激。如果你能告诉我在我的代码上我做错了什么就太棒了!
我正在使用来自[here] [1]的Fedor代码。
///Here I tried to Implement an action listener but It doesn't work.
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int position,long id)
{
if(list.getItemAtPosition(position).equals(mStrings[1]))
{
Intent i = new Intent(MainActivity.this, Activity2.class);
startActivity(i);
}
}
});
}
答案 0 :(得分:0)
在这种情况下,您需要覆盖onListItemClick。参考 Click Listener on ListView 为了获得更多帮助,该解决方案是一个相当不错的实现。
以下是您的主要活动中可能的实施方案。请记住,只有保持MainActivity扩展Activity,这才会起作用。
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
// Intent launcher here
}
如果您希望稍后扩展ListActivity而不是Activity,并且需要调用onListItemClick,请按照此方案执行
公共类YourClass扩展ListActivity实现OnItemClickListener {
@Override
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.your_layout);
getListView().setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// your stuff here
}
}