vv是listView里面的一个itemviewViewGroup.LayoutParams params = vv.getLayoutParams();
params.height = height;
vv.setLayoutParams(params);我在这段代码前,后分别打印出了height,vv.getHeight();
大多数时候2个值是一直的,说明setLayoutParams是成功的(设置前的vv.getHeight()和设置后的vv.getHeight()是改变了的)但是偶尔会出现设置前vv.getHeight() == 设置后vv.getHeight()的现象(height与vv.getHeight()不等)
说明setLayoutParams失败了?但是这个函数的返回值是void啊。。
也没说有失败的情况。
我本想着在外面加个while do
直到设置成我需要的值才跳出该段代码,实际效果是会出现timeout的现象求原因 求解决方法
params.height = height;
vv.setLayoutParams(params);我在这段代码前,后分别打印出了height,vv.getHeight();
大多数时候2个值是一直的,说明setLayoutParams是成功的(设置前的vv.getHeight()和设置后的vv.getHeight()是改变了的)但是偶尔会出现设置前vv.getHeight() == 设置后vv.getHeight()的现象(height与vv.getHeight()不等)
说明setLayoutParams失败了?但是这个函数的返回值是void啊。。
也没说有失败的情况。
我本想着在外面加个while do
直到设置成我需要的值才跳出该段代码,实际效果是会出现timeout的现象求原因 求解决方法
解决方案 »
- 百度地图api 为什么调用不到 MKSearchListener中的onGetAddrResult方法
- Android NDK 编译ffmpeg的问题
- LOGE的信息输出到哪里了?
- android上的应用问题:(以下代码通不过)
- Android中文合集 最终版
- 我想用弹出式对话框形式将配置显示给用户,请问在AlertDialog中可以直接使用PreferenceScreen吗?
- 关于程序界面刷新和运算步骤的问题。
- 关于Context.MODE_PRIVATE的问题
- 新手学习,求推荐书籍
- 在做一个日历签到,每日下面有两个textview,在规定时间内点击,会变色
- 大神门这样的界面如何做?
- 进来给分了。Android中setCompoundDrawablesWithIntrinsicBounds问题。
好像不可信。。
刚才发现过段时间再取次的值
可能就正确了
但是这段代码所在的函数是被频繁调用的。。(0.1s以内)
试试
问题应该是ui不是每次设置进去了马上就刷新的
所以再次get的高度可能不正确
只要在设置完之后强制刷新下就可以了
强制刷新?调用invalidate()?
=========================================
已解决:
mView.post(new Runnable() {
@Override
public void run() {
mView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}
});