1、listview和gridview的焦点调试的时候一般会用到OnKeyListener、OnItemSelectedListener、OnFocusChangeListener这些监听器;另外也会用到
setNextFocusLeftId(int id)
setNextFocusRightId(int id)
setNextFocusUpId(int id)
setNextFocusDownId(int id)
这些方法(id只要在项目中存在,你就可以引用,并不局限于一个类或一个activity或一个layout.xml)。
2、键盘移动listview和gridview里面的item时,可能会出现移动两次的情况,为了避免它:我们设置一个布尔型标志位flag
private boolean flag;
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
...
...
this.flag=true;
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,long id) {
...
...
this.flag=false;
}
另外listview和gridview的setSelection(int position)方法也会起到作用,eg:
gridView.setSelection(0);
gridView.setFocusableInTouchMode(true);
gridView.requestFocus();
3、如果在一个groupview中加载了多个gridview,而且这些gridvie的xml源自同一个layout.xml,假设layout.xml中的gridview的id为"@+id/gridview”,那么下面代码
gridview.setNextFocusLeftId(R.id.gridview)
是错误的,多个gridview同时使用同一个id会引起混乱,为此你必须在代买中重新为gridview设置id,eg:
gridview.setId(id);
分享到:
相关推荐
该项目经过严格调试,确保代码可以运行! 1. 技术组成 后台框架:SpringBoot/SSM (如果有的话) 前端:Android 数据库:MySQL (建议用 5.7 版本) 工具:Maven, Gradle 开发环境:JDK、IDEA、AndroidStudio ...
3.2.6 处理焦点 71 3.2.7 掌握事件 72 3.3 使用资源 73 3.3.1 支持的资源类型 73 3.3.2 在Java中引用资源 74 3.3.3 通过XML资源定义视图和布局 76 3.3.4 值的外化 78 3.3.5 提供动画 81 3.4 理解AndroidManifest文件...
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
DDMS:Dalvik Debug Monitor Service,是Android开发环境中的Dalvik虚拟机调试监控服务。 Activity:Android组件中最基本的组件,在一个Android应用中,一个Activity通常就 是一个单独的屏幕。 Intent是Android中的...
使用外部工具,效率低,容易受焦点转移等问题的影响,不如开启手机usb调试模式,通过adb调试工具发送相关指令,直接操作真机(android系统)。 个人认为,最好能具体分析下性能瓶颈,确定慢在哪个环节,然后再根据...
A 新增 选取 android 设备上的 profile 文件进行分析 详情 A 新增 WXML 面板支持自定义组件数据查看与实时修改 A 新增 WXML 面板支持使用键盘 (上下左右) navigate the DOM tree A 新增 WXML 面板支持右键操作 ...
前一阵子做了一个手机官网,用到了 <div> 中的 overflow,再调试 ios 中遇到了弹性滚动的问题: ios 下 webkit 弹性滚动 css 指令 -webkit-overflow-scrolling: touch; 该指令再切换同样需要做滚动处理的 div ...