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