在我的ListView中,每个项目都包含ImageView和TextView。 我想点击图片时 - 获取itemid(然后在对话框中显示图片)。
如何点击ImageView并获取ListItem的ID?
ImageView image;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_friends);
contactsList=(ListView)findViewById(android.R.id.list);
contactsList.setOnItemClickListener(clickListener);
image = (ImageView)findViewById(R.id.image_a);
image.setOnClickListener(imListener);
}
OnItemClickListener clickListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long itemId) {
Toast.makeText(getApplicationContext(), "listItem " + itemId, Toast.LENGTH_SHORT).show();
}
};
OnClickListener imListener = new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Image of listItem ", Toast.LENGTH_SHORT).show();
}
};
答案 0 :(得分:1)
你真的不需要两个Listeners
。
但是,如果您仍然坚持,则会在代码中单击该项目的位置 - arg2
方法的onItemClick()
参数会为您提供项目的位置。如果您将所有图片ID存储在ArrayList
中,则可以检索使用imageArray[position]
点击的图片。
以下是一些提示: