关于儿童的Android GridView焦点问题?

时间:2013-04-20 05:12:54

标签: android gridview focus android-edittext scrollview

我有一个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,那么它就什么都不关注。我不知道如何解决这个问题。如果有人知道如何解决它。

提前完成。

1 个答案:

答案 0 :(得分:0)

您是否可以按照相同的顺序维护所有editText的ID集合,同时添加它们以进行渲染。

在这种情况下,对于clickHandler或NEXT / PREV按钮,您可以查看以下内容:

    PREV的
  1. clickHandler:如果当前选择在列表中排在第一位,那么您可能希望将焦点设置在列表中的最后一个元素上。
  2. NEXT的
  3. clickHandler:如果当前选择在列表中排在最后,那么您可能希望将焦点设置在列表中的第一个元素上。
  4. 或者,如果您不想要列表回滚功能,您只需检查列表中元素的位置,并按照您希望的方式处理边缘元素。

    希望我能正确理解你的问题。

    HTH