列表显示。单击imageView时获取itemId

时间:2011-04-19 17:04:44

标签: android listview

在我的ListView中,每个项目都包含ImageView和TextView。 我想点击图片时 - 获取itemid(然后在对话框中显示图片)。

如何点击ImageView并获取ListItem的ID?

enter image description here

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();

            }
        };

1 个答案:

答案 0 :(得分:1)

你真的不需要两个Listeners

但是,如果您仍然坚持,则会在代码中单击该项目的位置 - arg2方法的onItemClick()参数会为您提供项目的位置。如果您将所有图片ID存储在ArrayList中,则可以检索使用imageArray[position]点击的图片。

以下是一些提示:

Custom List Row

Handling onItemClick