我有一个表格布局,我动态地插入了几行。我设置了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;
}
});
焦点仍然没有转到下一个编辑文本。
编辑 - 我的问题的图形说明
此时光标移动到右侧的编辑文本。我希望光标向下移动而不是正确。