你如何在listView上实现动作监听器?

时间:2011-03-26 13:50:17

标签: java android clicklistener

我一直在努力寻找实现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);                                                                                
                    }                                                                                                    
                }                                                                                                       
            });


      }

1 个答案:

答案 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
}
}