我想摆脱 Android Market 过滤器 android.hardware.touchscreen 以允许在非触摸屏设备(仅限具有键盘导航的设备)上下载我的应用程序。
没有那么多不是触摸屏的设备,但有一些...
除了 ListViews,我的应用程序可以使用键盘...我希望用户只能使用键盘在我的 ListView 中导航。也就是说,他必须能够在 listView 中滚动 => 滚动时必须连续突出显示不同的单元格。
怎么做?
谢谢!!
最佳答案
或许您可以创建一个 onKeyListener。它是这样的:
private class myListKeyListener implements onKeyListener {
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
if (KeyEvent.ACTION_DOWN == arg2.getAction()) {
switch (arg1) {
case KeyEvent.KEYCODE_DPAD_UP: {
int i = list.getSelectedItemPosition();
if (i > 0)
i--;
list.setSelection(i);
break;}
}
向下、向右、向左都是一样的……你可以用它做你想做的事
之后,在 onCreate 方法中将监听器附加到您的列表:
list.setOnKeyListner(new MyListKeyListener);
希望对你有帮助;)
关于Android:如何允许在非触摸屏设备上的 ListView 中导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7204531/