custom preference item 点击后高度扩充问题的解决方法
来源:互联网 发布:三千年未有之变局知乎 编辑:程序博客网 时间:2024/06/05 06:39
上文中提到custom preference 的实现,基本没什么问题,但在项目开发中,当点击preferenceitem的时候,当前的item的高度总会自动扩充,这样造成的后果开始不觉得什么,但当功能实现得已经趋紧完美的时候,就会-降低用户的体验效果,招致反感。
首先:想到的是RelativeLayout 布局的问题,但经过验证,使用linerlayout也同样会出现这个现象,so 排除。
其次:找到相关的xml布局界面,通过验证发现checkBox选中后会出现这个现象,通过方法验证属于item自动扩充。
最后:查看android.preference的源代码终于找到了答案,直接上代码。
/** * Sets the summary for this Preference with a CharSequence. * * @param summary The summary for the preference. */ public void setSummary(CharSequence summary) { if (summary == null && mSummary != null || summary != null && !summary.equals(mSummary)) { mSummary = summary; notifyChanged(); } }
此处总是执行父类的setSummary,summary保持不变,而子类未必需要父类这个summary,在preferenceChangeListener中,setSummary就会导致高度扩充。
解决方法:覆盖父类的setSummary,同时在onBindVie中不指定setSummary(value)。
@Override
public void setSummary(CharSequence summary)
{
if (summary == null && this.summary != null || summary != null && !summary.equals(this.summary)) {
this.summary = summary;
super.setSummary(null);
notifyChanged();
}
}
- custom preference item 点击后高度扩充问题的解决方法
- custom preference 的实现。
- ListView 的Item 点击后改变背景的bug问题
- GridView自适应高度后,第一个Item点击无效
- GridView自适应高度后,第一个Item点击无效
- 点击TableViewCell后高度变化问题
- ListView的item点击问题
- ListView的Item不能点击的解决方法
- ListView的Item不能点击的解决方法
- ListView中的Item不能点击的解决方法
- android 关于如何设置ListView中item高度问题的解决方法
- android点击ListView的item后变色
- GridView点击item后改变item的背景
- 关于ListView中Item的高度问题
- 关于ListView中Item的高度问题
- ListView关于Item高度的诡异问题
- 解决链接ClickableSpan中点击后与ListView中item的长按冲突的问题
- android完美解决ClickableSpan中点击后ListView中item的长按冲突的问题
- Delphi中Copy的使用
- weblogic 10.3下载地址
- 工作那点事2(项目中的“移花接木”)
- 【转】三款免费的在线项目管理工具
- 程序员编程艺术第一~二十二章集锦与总结
- custom preference item 点击后高度扩充问题的解决方法
- mjpg-streamer源码分析
- ARM-Linux s3c2440 之中断分析(二)
- C字符串分割 - strtok 与 strtok_r
- oracle查询date类型的数据的时候的小问题
- KEILC51编译问题ERROR L104: MULTIPLE PUBLIC DEFINITIONS重复定义
- 。。。
- 从头到尾彻底解析Hash表算法十道海量数据处理面试题与十个方法大总结
- linux 下的网络状态实时监控