【发布时间】:2011-12-20 06:37:40
【问题描述】:
我为每个 ImageButton 动态生成了具有不同 ImageResource 的 ImageButton。现在我想知道点击了哪个 ImageButton,我该如何确定呢? 需要你的帮助。 谢谢。
【问题讨论】:
标签: android drawable imagebutton
我为每个 ImageButton 动态生成了具有不同 ImageResource 的 ImageButton。现在我想知道点击了哪个 ImageButton,我该如何确定呢? 需要你的帮助。 谢谢。
【问题讨论】:
标签: android drawable imagebutton
您可以为每个创建的 ImageButton 和 getId() 设置一个 id,以便单击检查女巫按钮
ImageButton im=new ImageButton(Yourcontext);
im.setId(giveAnID);
//where you check
int theID=im.getId();
【讨论】:
为了做到这一点,你可以做两件事:
首先,当动态生成 ImageButton 时,您可以调用 setId() 来为这个 View 设置一个特定的 id 并将其存储在 List 等中。
然后当你有点击事件(或其他任何事件)时,你可以调用 View 的 getId() 方法来获取 id。
然后你可以比较并做任何你想做的事情。
希望这会有所帮助!
【讨论】:
任何资源都由其在 R.java 文件中生成的 id 唯一标识。 所以你可以使用类似的东西:
if(image.getId() == R.id.image) {
// do awesome stuff
}
【讨论】:
如果您的代码生成 imageButtons,那么您可以在此代码中编写类似的内容,
imageButton.setId(1);
当你的 imageButton 被点击时,你可以得到它,
int id = imageButton.getId();
【讨论】:
我必须做同样的事情,这就是我所做的
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);
}
});
【讨论】: