使用PullToRefresh出现的问题
来源:互联网 发布:linux内核移植步骤 x86 编辑:程序博客网 时间:2024/06/07 10:47
1.view.getId()返回-1(android view.getId() returns -1)
回答1:
public View getView(final int row, final int column, View converView, ViewGroup parent) {
if (converView == null) {
converView = inflater.inflate(getLayoutResource(row, column), parent, false);
if (row == -1){
int viewId = converView.getId();
setHeaderId(viewId, column+1);
}
}
...
}
回答2:
Inflate a new view hierarchy from the specified xml resource.
So when you call
converView = inflater.inflate(getLayoutResource(row, column), parent, false);
converView is just create by your layout inflater and have no ID. You should set ID manually like this
converView.setId(YOUR_GENERATED_ID);
我的问题答案是,我在pulltorefresh里已经重写了监听item的事件,但是那个item的监听事件不奏效,所以只能在适配器里写监听事件,而由于没有删除pulltorefresh的监听事件,导致获取的view.getId()为-1
2.我在适配器里写监听事件,发现一直不能是item里的子组件获取到焦点
网上的回答是:
回答1:
在item的xml根组件里改
android:
beforeDescendants //viewgroup会优先其子类控件而获取到焦点
afterDescendants //viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants //viewgroup会覆盖子类控件而直接获得焦点
回答2:
listView.setItemsCanFocus(true); //设置item项的子控件能够获得焦点(默认为false,即默认item项的子空间是不能获得焦点的
但pulltorefresh不能强制转化为listview
回答3:
在代码或者xml文件中对要获取的焦点的控件进行设置
focusable和focusableInTouchMode的值为true的设置
然而以上解答都为能解决我的问题,后来才发现问题出在我设置的监听组件,我设置监听的代码是view.setOnClickListener(public void onClick(View view) {});而我实际是想对view的子组件的按钮进行监听。我以为public void onClick(View view) {}的方法里可以里可以通过判断view.getId()是否为按钮组件的id来进行事件响应,然而事实是一直无法对我的item里的按钮就行监听。最终,只需改成对按钮的监听而不是item的view的监听
注 : 我在对pulltorefresh设置setOnItemOnclick的监听一直不响应,没有奏效,至今不知道原因,不过解决办法是在适配器里监听。而对于pulltorefresh的其他setOn...方法却可以起作用。不过都是在刷新的时候器作用,不刷新则没有作用。例如:setOnTouchListen,只有在刷新的时候起作用,但是我们想要的效果是和刷新没什么卵关系呀
- 使用PullToRefresh出现的问题
- 使用PullToRefresh遇到的问题
- Android 去掉ListView/GridView下拉出空白回弹的效果,以及使用PullToRefresh出现的问题
- 浅析:Pulltorefresh使用中碰到的问题
- 关于pullToRefresh使用时的问题总结:
- PullToRefresh的使用
- pulltorefresh的使用
- ActionBar-PullToRefresh的使用
- PullToRefresh的简单使用
- ActionBar-PullToRefresh的使用
- pulltorefresh的使用
- PullToRefresh的使用
- pullToRefresh的使用
- PullToRefresh的简单使用
- 使用 PullToRefresh 的总结
- PullToRefresh的使用
- Android-PullToRefresh的使用
- PullToRefresh的使用
- 圆角按钮
- linux 下安装字体
- oracle impdp&expdp
- LINUX : 管道 重定向 拓展 引用
- SpringMVC框架中的异常解析器-ExceptionHandler和HandlerExceptionResolver(转)
- 使用PullToRefresh出现的问题
- 如何给CentOS7 安装Vmware Tools
- java 判断文件是否图片
- 利用GDI+在问from绘制验证码
- eclipse生成可执行jar包 ,带第三方jar(转)
- QNearFieldManager类Detailed Description英文翻译:
- POI 读写 Excel
- POJ 1269 Intersecting Lines(计算几何)
- oracle minus 不包含