下一步关注GridView

时间:2016-05-31 21:11:08

标签: android gridview

我有一个GridView,我根据从事务中收到的内容填充EditText。我想把焦点放在右边的EditText或下面第一行的EditText上,如果焦点是行的最后一行。

我做了这段代码来改变焦点:

editText.setOnKeyListener(new View.OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
            if (position != editTexts.size() - 1) {
                EditText temp = editTexts.get(position+1);
                temp.requestFocus();
            } else {
                InputMethodManager imm = (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE);
                if (imm.isActive()) {
                    imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
                }
            }
            return true;
        }
        return false;
    }
});

问题在于,不是将一个直接聚焦在右边,而是从聚焦的一个右下角选择一个(见图)

每个单元格的editText仅在editTexts ArrayList中保存一次。

enter image description here 有没有人有线索指导我? 谢谢!

0 个答案:

没有答案