android – 如何获取动态添加到LinearLayout的点击的子视图的ID?

android – 如何获取动态添加到LinearLayout的点击的子视图的ID?,第1张

概述我将一个子视图添加到线性布局.儿童视图本身在Relativelayout中具有一些文本视图和图像浏览. 点击一个按钮,在LinearLayout中动态添加子视图.现在我可以添加子视图,如图所示. http://dl.dropbox.com/u/50249620/SC20120926-031356.png 我要做的是唯一标识哪个子视图被点击以显示适当的 *** 作. 我的代码,我在添加子视图. addBut 我将一个子视图添加到线性布局.儿童视图本身在relativelayout中具有一些文本视图和图像浏览.
点击一个按钮,在linearLayout中动态添加子视图.现在我可以添加子视图,如图所示.
http://dl.dropbox.com/u/50249620/SC20120926-031356.png
我要做的是唯一标识哪个子视图被点击以显示适当的 *** 作.
我的代码,我在添加子视图.
addbutton.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw v) {                // Todo auto-generated method stub                inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);                customVIEw1 = inflater.inflate(R.layout.people,null);                peoplename = (TextVIEw) customVIEw1.findVIEwByID(R.ID.peoplename);                peoplename.setText(autoComplete.getText());                customVIEw1.setID(peopleInvitedrelativeLayout.getChildCount() + 1);                params4 = new linearLayout.LayoutParams(VIEwGroup.LayoutParams.WRAP_CONTENT,VIEwGroup.LayoutParams.WRAP_CONTENT);                customVIEw1.setLayoutParams(params4);                peopleInvitedrelativeLayout.addVIEw(customVIEw1,params4);                          }        });

任何帮助或建议将不胜感激.谢谢.

解决方法@H_403_13@ 您可以在任何视图中添加自定义标签,只需在创建视图时执行以下 *** 作即可
vIEw.setTag(Object o);

那么稍后在onClickListener中找到标签

vIEw.getTag()

setTag(Object o)将接受任何类型的对象,如字符串,int或自定义类

编辑

addbutton.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw v) {            // Todo auto-generated method stub            inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);            customVIEw1 = inflater.inflate(R.layout.people,null);            peoplename = (TextVIEw) customVIEw1.findVIEwByID(R.ID.peoplename);            peoplename.setText(autoComplete.getText());            customVIEw1.setID(peopleInvitedrelativeLayout.getChildCount() + 1);            params4 = new linearLayout.LayoutParams(VIEwGroup.LayoutParams.WRAP_CONTENT,VIEwGroup.LayoutParams.WRAP_CONTENT);            customVIEw1.setLayoutParams(params4);            peopleInvitedrelativeLayout.addVIEw(customVIEw1,params4);            //add a tag to a vIEw and add a clickListener to the vIEw            customVIEw1.setTag(soMetag);            customVIEw1.setonClickListener(myClickListner);        }    });

clickListener – 为它创建一个类变量

OnClickListener myClickListener = new onClickListener(){    @OverrIDe    public voID onClick(VIEw v) {        if(v.getTag() == soMetag){             //do stuff        }else if(v.getTag() == otherTag){             //do something else        }    }
总结

以上是内存溢出为你收集整理的android – 如何获取动态添加到LinearLayout的点击的子视图的ID?全部内容,希望文章能够帮你解决android – 如何获取动态添加到LinearLayout的点击的子视图的ID?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1133362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存