Android listview中具有多个可聚焦元素的键盘导航
我有一个Android ListView,它可以包含不同类型的listItem。 某些列表项本身具有多个可聚焦元素。 我正在寻找一种能够使用硬件键盘导航列表的方法,以及能够选择listitem中的可聚焦元素并在其中导航的方法 例如,在下图中,所有listItem都有多个按钮。所以当我打开我的活动时,我应该能够使用键盘上下箭头在listitem中导航 但当我按Enter(或D-PAD)时,焦点应该转到列表项中的第一个按钮。之后,我应该能够通过使用箭头键浏览所有按钮 当我为所有按钮设置focusable false并在listView本身上设置listView.setItemsCanFocus(false)时,我能够实现第一种情况 在从适配器返回视图,然后在ListListener中处理它们之前,我尝试过设置setFocusable(false)Android listview中具有多个可聚焦元素的键盘导航,android,listview,keyboard,Android,Listview,Keyboard,我有一个Android ListView,它可以包含不同类型的listItem。 某些列表项本身具有多个可聚焦元素。 我正在寻找一种能够使用硬件键盘导航列表的方法,以及能够选择listitem中的可聚焦元素并在其中导航的方法 例如,在下图中,所有listItem都有多个按钮。所以当我打开我的活动时,我应该能够使用键盘上下箭头在listitem中导航 但当我按Enter(或D-PAD)时,焦点应该转到列表项中的第一个按钮。之后,我应该能够通过使用箭头键浏览所有按钮 当我为所有按钮设置focus
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
View v = listView.getChildAt(position);
v.setFocusable(true);
v.requestFocus();
Button b1 = (Button)(listView.getChildAt(position).findViewById(R.id.butt1));
Button b2 = (Button)(listView.getChildAt(position).findViewById(R.id.butt1));
b1.setFocusable(true);
b2.setFocusable(true);
b1.requestFocus();
}
});
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、int位置、长id){
视图v=listView.getChildAt(位置);
v、 设置聚焦(真);
v、 requestFocus();
按钮b1=(按钮)(listView.getChildAt(位置).findViewById(R.id.butt1));
按钮b2=(按钮)(listView.getChildAt(位置).findViewById(R.id.butt1));
b1.可设置聚焦(真);
b2.可设置焦点(真);
b1.requestFocus();
}
});
但它也没有把重点放在按钮上 你找到解决办法了吗?