自定义viewgroup获取包裹的listview
来源:互联网 发布:java并发编程视频教程 编辑:程序博客网 时间:2024/06/12 01:07
先在viewGroup里面定义一个方法,用于获取放在viewGroup中的listview
private void getListView() {
int childs = this.getChildCount();
if (childs > 0) {
for (int i = 0; i < childs; i++) {
View childView = getChildAt(i);
if (childView instanceof ListView) {
mListView = (ListView) childView;
}
}
}
}
int childs = this.getChildCount();
if (childs > 0) {
for (int i = 0; i < childs; i++) {
View childView = getChildAt(i);
if (childView instanceof ListView) {
mListView = (ListView) childView;
}
}
}
}
解释一下这段代码:
首先获取viewGroup子view的数量,然后根据数量判断是否有子view,如果有,则遍历子view获取其中class为ListView(可以是你任意想要获取view的类,前提是你已经把该view放到viewGroup中)的子view。
接下来很重要!!!
我们这个方法是放在viewGroup的类里面的,但要在viewGroup的什么地方走这个方法呢?我试过放到构造方法里面,例如:
public MyPtrRefresh_LoadView(Context context, AttributeSet attrs) {
super(context, attrs, 0);
this.context = context;
getListView();
}
super(context, attrs, 0);
this.context = context;
getListView();
}
这是将代码放到viewGroup的第二个构造方法中执行,经测试发现完全获取不到listView。经过一番百度google之后,我发现需要将方法放到viewGroup重写的onLayout方法里面运行,就能获取listview
@Override
protected void onLayout(boolean changed, int left, int top, int right,
int bottom) {
super.onLayout(changed, left, top, right, bottom);
// 初始化ListView对象
if (mListView == null) {
getListView();
}
}
protected void onLayout(boolean changed, int left, int top, int right,
int bottom) {
super.onLayout(changed, left, top, right, bottom);
// 初始化ListView对象
if (mListView == null) {
getListView();
}
}
onLayout方法是ViewGroup中子View的布局方法,用于放置子View的位置。放置子View很简单,只需在重写onLayout方法,然后获取子View的实例,调用 子View的layout方法实现布局。在实际开发中,一般要配合onMeasure测量方法一起使用。
阅读全文
0 0
- 自定义viewgroup获取包裹的listview
- popwindows包裹grideView/listview获取item焦点的问题
- 解决listview的item为自定义viewgroup时,viewgroup子view press时,整个viewgroup都被按下的问题
- ViewGroup的自定义
- 自定义ViewGroup的使用
- 【Android】【ViewGroup】【ListView】ListView的一些细节
- Android 在ListView中使用自定义的ViewGroup来取代ViewHolde
- android 自定义ViewGroup实现可记载并呈现选择的ListView
- ListView GridView 自定义ViewGroup的单个item 刷新 和 单个item中的局部元素刷新
- ScrollView包裹ListView
- 自定义ViewGroup获取子View参数
- 自定义VIEWGROUP的一个用法
- 继承ViewGroup的自定义类
- 继承ViewGroup的自定义类
- 自定义ViewGroup的测量规则
- Android自定义ViewGroup的总结
- 自定义viewGroup的常见写法
- ScrollView包裹ListView的两种处理方法
- HTML5 前戏
- 第六次实验
- 动物识别系统
- 几个常用的url生成二维码的接口
- 【JQuery】HTML自定义滚动条(mCustomScrollbar)
- 自定义viewgroup获取包裹的listview
- Oprofile 编译使用过程中遇到的几个错误
- 控制台、win32 、mfc 、QT区别
- python(1)
- go语言时间操作一些坑
- JS中操作字符串的常用方法
- Android studio 自动导入(全部)包 import
- 二维码跳转android或ios下载app中转处理
- Java线程并发中的锁——Lock(上)