Android:点击时获取动态生成的ImageButton的id

发布于 2024-12-21 20:03:26 字数 104 浏览 4 评论 0原文

我为每个 ImageButton 动态生成了具有不同 ImageResource 的 ImageButtons。现在我想知道单击了哪个 ImageButton,如何确定? 需要你的帮助。 谢谢。

I have dynamically generated ImageButtons with different ImageResource for each ImageButton. Now I want to know which ImageButton was clicked, how can I determine this ?
Need your help.
Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

等风也等你 2024-12-28 20:03:26

您可以为每个创建的ImageButton设置一个id,并为检查单击的女巫按钮设置getId()

    ImageButton im=new ImageButton(Yourcontext);
    im.setId(giveAnID);

     //where you check 
    int theID=im.getId();

you can set an id for each created ImageButton and getId() for check witch button clicked

    ImageButton im=new ImageButton(Yourcontext);
    im.setId(giveAnID);

     //where you check 
    int theID=im.getId();
妄司 2024-12-28 20:03:26

为了做到这一点,你可以做两件事:

首先,当动态生成 ImageButton 时,你可以调用 setId() 来为此 View 设置特定的 id 并将其存储在 List 等中。

然后,当你有一个单击事件时(或者其他),你可以调用View的getId()方法来获取id。

然后你就可以比较并做任何你想做的事情。

希望这有帮助!

In order to do this you could do two things:

Firstly, when dynamically generated the ImageButton you could call setId() in order to set a specific id to this View and store it in List, etc.

Then when you have a click event (or anything else), you can call the getId() method of the View to get the id.

Then you can compare and do anything you want.

Hope this helps!

伴随着你 2024-12-28 20:03:26

任何资源都由 R.java 文件中生成的 id 唯一标识。
所以你可以使用类似的东西:

if(image.getId() == R.id.image) {
  // do awesome stuff
}

Any resource is uniquely identified by its id which is generated in R.java file.
So you can use something like :

if(image.getId() == R.id.image) {
  // do awesome stuff
}
菊凝晚露 2024-12-28 20:03:26

如果您的代码生成 imageButtons 那么,在这段代码中您可以编写类似的内容,

imageButton.setId(1);

当您单击 imageButton 时,您可以通过以下方式获取它:

int id = imageButton.getId();

If your code generates the imageButtons then, in this code you can write something like,

imageButton.setId(1);

and when your imageButton is clicked then you can get it with,

int id = imageButton.getId();
花落人断肠 2024-12-28 20:03:26

我必须做同样的事情,这就是我所做的

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

i had to do same thing and this is what i have done

         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); 
            }
        });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文