我为每个ImageButton动态生成了带有不同ImageResource的ImageButton。现在我想知道点击了哪个ImageButton,我该如何判断呢? 需要你的帮助。 感谢。
答案 0 :(得分:4)
您可以为每个已创建的ImageButton
和getId()
设置一个ID,以便点击检查女巫按钮
ImageButton im=new ImageButton(Yourcontext);
im.setId(giveAnID);
//where you check
int theID=im.getId();
答案 1 :(得分:0)
为了做到这一点,你可以做两件事:
首先,当动态生成ImageButton时,您可以调用setId()以便为此View设置特定ID并将其存储在List等中。
然后,当您有一个click事件(或其他任何东西)时,您可以调用View的getId()方法来获取id。
然后你可以比较并做任何你想做的事。
希望这有帮助!
答案 2 :(得分:0)
任何资源都由其在R.java文件中生成的id唯一标识。 所以你可以使用类似的东西:
if(image.getId() == R.id.image) {
// do awesome stuff
}
答案 3 :(得分:0)
如果您的代码生成了imageButtons,那么在此代码中您可以编写类似
的内容imageButton.setId(1);
当你点击你的imageButton然后你就可以了,
int id = imageButton.getId();
答案 4 :(得分:0)
我必须做同样的事情,这就是我所做的
for(int i = 0 ;i<mediaList.size();i++){
view_media_gallery_item = LayoutInflater.from(view.getContext()).inflate(R.layout.e_media_gallery_item, null);
TextView title = (TextView) view_media_gallery_item.findViewById(R.id.media_gallery_item_title);
TextView subtitle = (TextView) view_media_gallery_item.findViewById(R.id.media_gallery_item_subtitle);
ImageView flux_Title_Image =(ImageView) view_media_gallery_item.findViewById(R.id.media_gallery_item_img);
title.setId(i+100);
subtitle.setId(i+1000);
flux_Title_Image.setId(2000+i);
title.setText("" +mediaList.get(i).getTitle());
subtitle.setText(""+mediaList.get(i).getArtist());
System.out.println("view added::::");
view_media_gallery_item.setTag(mediaList.get(i));
view_media_gallery_item.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("view media clicked");
Media m = (Media )v.getTag();
medialistner.setOnItemclick(m);
}
});