如何从listVIew获取图像ID

时间:2015-09-11 18:41:42

标签: android android-listview android-imageview

我有4个TextViews和1个ImageView的listView。我使用自定义适配器(ArrayAdapter和“Data”类)一切正常工作。

问题是我需要以某种方式从listView中检索图像资源或id,所以我可以在代码中的其他地方使用它...

我可以从下面的Textviews中获取字符串,但不能使用ImageView

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> MyListAdapter, View view, int position, long id) {

            TextView names = (TextView) view.findViewById(R.id.namesTV);
            TextView desc = (TextView) view.findViewById(R.id.descTV);

            String names = names.getText().toString();
            String desc = desc.getText().toString();      //this works fine

            ImageView imageV = (ImageView) view.findViewById(R.id.imageIV);

            // i tried 
            int image  = imageV.getID;  //or somthing .. but not working
        }
    }

那么如何在ListView中选择onItemClick中的ImageView获取图像ID?

2 个答案:

答案 0 :(得分:1)

  

问题是我需要以某种方式检索图像资源或ID   来自listView

要获取当前在单击行中可用的图像资源ID,请执行以下操作:

1。在为ImageView设置图片后,在setTag中使用getView方法保存资源ID:

imageView.setTag(R.drwable.<image name>);

2。现在onItemClick使用getTag获取资源ID:

ImageView imageV = (ImageView) view.findViewById(R.id.imageIV);
int image  = Integer.parseInt(imageV.getTag().toString());

答案 1 :(得分:0)

尝试使用 setTag() / getTag()

请参考link