我有一个GridView,其中设置了自定义适配器。自定义适配器的getView()方法返回一个LinearLayout,其中包含两个TextView和一个水平排列的EditText。我已经制作了一个自定义数字键盘,用于在EditText中输入文本。键盘包含NEXT和PREV按钮,这些按钮也会产生问题。我希望NEXT按钮自动将下一个EditText聚焦到下一行和类似的PREV按钮。按下按钮onKeyPress似乎:
View v=getWindow().getCurrentFocus().focusSearch(View.FOCUS_FORWARD);
if(v!=null)
v.requestFocus();
代码似乎正确。问题是,假设目前gridView只能看到三行,如果焦点在第三个EditText并且按下了NEXT,那么它就什么都不关注。我不知道如何解决这个问题。如果有人知道如何解决它。
提前完成。
答案 0 :(得分:0)
您是否可以按照相同的顺序维护所有editText
的ID集合,同时添加它们以进行渲染。
在这种情况下,对于clickHandler
或NEXT / PREV按钮,您可以查看以下内容:
clickHandler
:如果当前选择在列表中排在第一位,那么您可能希望将焦点设置在列表中的最后一个元素上。clickHandler
:如果当前选择在列表中排在最后,那么您可能希望将焦点设置在列表中的第一个元素上。或者,如果您不想要列表回滚功能,您只需检查列表中元素的位置,并按照您希望的方式处理边缘元素。
希望我能正确理解你的问题。
HTH