(转)listview中常见难题总结
原文地址:http://blog.csdn.net/cherry609195946/article/details/8844224
1. PopWindow中listview的item获取不到点击事件的解决方案
1. 想让listview的item获取点击事件,
千万不要用listview.setOnItemClickListener()
因为listview是获取不到焦点的,怎么设置都没有用处,我已经用过n多次了
要在adapter中的getView方法中对当前view设置点击事件,并使用一个回调接口暴露给创建该listview的
activity,这样就可以进行一些操作了,注意暴漏的接口要是public的,AdapterItemOnClickCallback
2, 发评论的朋友说的:
popupWindow.setFocusable(true);
popupWindow.update();
2. 去掉滑动到头时两边的阴影
android:overScrollMode="never"
3. 去掉两头泛色的过度地带:
android:fadingEdge="none"
4. 在做聊天客户端的时候, 聊天界面下面有个EditText, 当软键盘打开的时候, listview下面的东西被盖住了,
设置以下属性: android:transcriptMode="alwaysScroll"
它会使listview的最新条目滚动到可视范围, 设置normal有时候会不管用,
但是它的很大的弊端是: 下拉获取更多的消息完毕时,或者只要你调用adapter的notify方法, 它总是默认选中listview最后一项, listview的setSelection是没有用的;
解决方法是: 发送一个在下拉开始的时候, 禁用掉, 等下拉完毕后,发送一个message, 在handler的handleMesage中启用它,,
为什么不直接在下拉完毕adapter.notify完毕后启用它, 试试就知道了. 反正我的是行不通的,所以才用handler