Android选择另一个编辑文本onKeyListener

时间:2013-10-18 06:29:23

标签: android android-edittext

我有一个表格布局,我动态地插入了几行。我设置了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;
        }
    });

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

编辑 - 我的问题的图形说明

enter image description here

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

0 个答案:

没有答案