ListView问题解决办法总结_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > ListView问题解决办法总结

ListView问题解决办法总结

 2010/12/5 13:03:23  Ivy_Jacky  http://ivy-jacky.javaeye.com  我要评论(0)
  • 摘要:1.设置了ListView的背景,但滑动ListView仍会出现黑色的背景,然后再复原为设置的背景解决办法:设置属性android:cacheColorHint="#00000000"//滑动ListView的颜色为白色透明度为02.在一行被选中时,默认会出现黄色背景,想改为自定义图片背景解决办法:设置属性android:listSelector="@drawable/..."3.如果对ListView使用自定义Adapter,而每行数据中存在Button
  • 标签:总结 解决办法 解决 view list 问题解决 问题

1.设置了ListView的背景,但滑动ListView仍会出现黑色的背景,然后再复原为设置的背景
  解决办法:设置属性android:cacheColorHint="#00000000" //滑动ListView的颜色为白色透明度为0

2.在一行被选中时,默认会出现黄色背景,想改为自定义图片背景
  解决办法:设置属性android:listSelector="@drawable/..."

3.如果对ListView使用自定义Adapter,而每行数据中存在Button,就会出现ListView不响应OnItemClick事件,原因是Button抢了ListView焦点
  解决办法:在定义一行的xml文件中,设置Button属性Focusable=false,这种方法偶尔不会奏效,就在代码getView()方法中设置,button.setFocusable(false);

4.在ListView中使用自定义布局,每行数据加入了button或其它可响应事件的控件,可能会出现点击与响应的行不一致的情况,即:点击第一行的button,而响应的却是其它行的.此种情况甚为诡异
解决办法: 要注意Listener的设置位置,继承BaseAdapter重写adapter的基本写法不详细描述
     getView(...) {
        if (convertView == null) {
               convertView.inflate....;
               holderview = findViewById...
               convertView.setTag(holderView);
        } else {
               holderView = convertView.getTag();
        }
        holderView.button.setOnClickListener(...);//在此设置Listener,如果把设置语句放在if语句里面,就可能出现前面描述的怪异现象
   
5.不重写adapter使用自定义布局
  解决办法: 前提是要考虑需求,若界面只是需要显示一个List的列表,则可以使用ListActivity.ListActivity的布局文件里必须有一个ID改为android:id="@android:id/ list的ListView(基本用法)
  继承listActivity,在OnCreate里面setContentView(R.layout.yours);即可使用自定义的布局
上一篇: Android 获取图片固定大小的缩略图 下一篇: 没有下一篇了!
发表评论
用户名: 匿名