setTag和findViewByTag的使用具体解释
2017-04-26 12:27
267 查看
在使用ListView或者GridView的时候。 假设想要在Aciviry中获取到Item中的子View,比較频繁的使用是:getChildAt(int position);
之前自己差点儿不会去使用findViewByTag,由于用不须要使用。这次项目须要,使用到了ExpandableListView,上下级的IItem。并且自定义了事件监听,可是事件监听方法的參数列表中没有专递ViewGroup parent和View convertView之类的參数,获取item中的view是行不通的。
这时就想到了setTag和findViewByTag,实现比較简单。例如以下代码:
一:在Adapter中的getView或者getRealChildView下,先找到mSwitch.icon = (ImageView) convertView.findViewById(R.id.swicon);
然后:mSwitch.icon.setTag("obj" + groupPosition + childPosition); //setTag(Object object),这个object为随意对象,可是一定要保证其唯一性;
二:在Activity中,mIcon = (ImageView) listview.findViewWithTag("obj" + groupPosition + childPosition).findViewById(R.id.swicon);
于是就OK了。
关键代码:adapter中
activity中
之前自己差点儿不会去使用findViewByTag,由于用不须要使用。这次项目须要,使用到了ExpandableListView,上下级的IItem。并且自定义了事件监听,可是事件监听方法的參数列表中没有专递ViewGroup parent和View convertView之类的參数,获取item中的view是行不通的。
这时就想到了setTag和findViewByTag,实现比較简单。例如以下代码:
一:在Adapter中的getView或者getRealChildView下,先找到mSwitch.icon = (ImageView) convertView.findViewById(R.id.swicon);
然后:mSwitch.icon.setTag("obj" + groupPosition + childPosition); //setTag(Object object),这个object为随意对象,可是一定要保证其唯一性;
二:在Activity中,mIcon = (ImageView) listview.findViewWithTag("obj" + groupPosition + childPosition).findViewById(R.id.swicon);
于是就OK了。
关键代码:adapter中
mSwitch.icon = (ImageView) convertView.findViewById(R.id.swicon); mSwitch.icon.setTag("obj" + groupPosition + childPosition);
activity中
mIcon = (ImageView) listview.findViewWithTag("obj" + groupPosition + childPosition).findViewById(R.id.swicon);
相关文章推荐
- setTag和findViewByTag的使用详解
- Android ViewPager使用具体解释
- Android ViewPager使用具体解释
- Android ViewPager使用具体解释
- Android ViewPager使用具体解释
- Android ViewPager使用具体解释
- Linux经常使用的命令(21) - find参数具体解释
- Cocos2d-x滚动列表具体解释(CCScrollView的使用)
- Android ViewPager使用具体解释
- Android ViewPager使用具体解释
- Android之TextView的样式类Span的使用具体解释
- Android ViewPager使用具体解释
- Android ViewPager使用具体解释
- Android ViewPager使用具体解释
- ExpandableListActivity使用findViewById查找child中view的时序问题
- android 使用Tabhost 发生could not create tab content because could not find view with id 错
- android ListView布局之三(使用自定义的Adapter绑定数据,通过contextView.setTag绑定数据)有按钮的ListView
- Android使用Fragment,不能得到Fragment内部控件,findViewById()结果是Null--已经解决
- 求助 android开发中 如果两个控件的id相同 会怎样?如何使用findviewbyid ()寻找到?
- 使用findViewById查找自定义view时返回NULL问题