自定义列表视图适配器上的OnclickListener

时间:2015-02-20 11:57:35

标签: android android-listview android-view onclicklistener baseadapter

我是Android的新手,所以你可以期待这有点傻但请帮忙。 我有点像 whatsapp 和其他 IM应用等人的自定义listviews

现在,当我点击listview时,我想获得所点击的id的{​​{1}}。 我怎么可能这样做? 我将把listview方法放在哪里?

CustomListAdapter.java

onclicklistner

5 个答案:

答案 0 :(得分:2)

使用listview的setOnItemClickListener()。 您必须在定义Listview的MainActivity类中使用此方法

 listView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long   id) {
String item = contests_listView.getItemAtPosition(position);
Toast.makeText(this,"You selected : " + item,Toast.LENGTH_SHORT).show();                
         }
      });

位置变量将返回所选项目的ID。

答案 1 :(得分:2)

the_list.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //Use this if you want to get the whole ListView id
            parent.getId();

            //or use this if you want the item id
             view.getId()
        }
    });

答案 2 :(得分:1)

您应该将onClickListener放在Activity中。

  your_list.OnItemClickListener = new MyOnClickListenerClass();

并创建类

 public class MyOnClickListenerClass: Java.Lang.Object, AdapterView.IOnItemClickListener
{

    public void OnItemClick(AdapterView parent, View view, int position, long id)
    {
       //do stuf 
    }
}    

答案 3 :(得分:1)

listView还有另一种方法:onItemClickListener

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View item,
            int position, long id) {
          //this code will be fired after clicking on listview item

    }
});

答案 4 :(得分:1)

在将适配器设置为listview调用后的活动中

yourListView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
            // TODO Auto-generated method stub
            //based on position you can get id
        }
    });

编辑:

要在ListView中单击用户详细信息,请使用

convertView.setTag(m) in getView() of CustomAdapter

然后在ListView调用的setOnItemClickListener中

IMList obj=(IMList)arg1.getTag();

希望这会对你有所帮助。