我是Android的新手,所以你可以期待这有点傻但请帮忙。
我有点像 whatsapp 和其他 IM应用等人的自定义listviews
。
现在,当我点击listview
时,我想获得所点击的id
的{{1}}。
我怎么可能这样做?
我将把listview
方法放在哪里?
CustomListAdapter.java
onclicklistner
答案 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();
希望这会对你有所帮助。