0

我有一个表格布局,可以动态插入几行额外的行。我设置了android:imeOptions="actionNext". 我的监听器代码如下:

textKind.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            if (keyCode == event.KEYCODE_ENTER){
                ((EditText)findViewById(5+v.getId())).requestFocus();
            }
            return false;
        }
    });

Next如果我点击软键盘上的按钮,我希望有一个特定的编辑文本请求焦点。下面的代码显示了我如何分配我的 id:

textKind.setId(columnNumberCount);
textVariety.setId(columnNumberCount+5);
textCode.setId(columnNumberCount+10);
textArea.setId(columnNumberCount+15);
textPathogen.setId(columnNumberCount+20);
textDegree.setId(columnNumberCount+25);
textSample.setId(columnNumberCount+30);
textCrop.setId(columnNumberCount+35);
textGeneral.setId(columnNumberCount+40);

this.columnNumber++;

我已对其进行了设置,以便我最多可以添加四列。这就是为什么我将 id 设置为 count + 5. 目前,下一个按钮将光标向右而不是向下导航(添加了所有列)。有人有建议吗?谢谢

编辑

我更改了代码以正确检测回车按钮:

textKind.setOnEditorActionListener(new OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            // TODO Auto-generated method stub
            if (actionId == EditorInfo.IME_ACTION_NEXT){
                Toast.makeText(getApplicationContext(), "Enter pressed", Toast.LENGTH_LONG).show();
                ((EditText)findViewById(5+v.getId())).requestFocus();
            }
            return false;
        }
    });

焦点仍然没有转到下一个编辑文本。

编辑 - 我的问题的图形描述

在此处输入图像描述

此时光标移动到右侧的编辑文本。我希望光标向下移动而不是向右移动。

4

0 回答 0