我有以下问题:
我有一个包含自定义行的列表视图,每行有几个编辑文本(一个或两个)。 我想每次触摸软键盘上的下一个按钮时都能滚动到下一个元素。 我已经实现了以下代码:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (displayFlag == GuiConstants.GUI_QUICK_DISPLAY) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (event.getKeyCode()) {
case KeyEvent.FLAG_EDITOR_ACTION: {
scrollToNext();
return true;
}
}
}
}
return super.dispatchKeyEvent(event);
}
private void scrollToNext() {
int currentPosition = listView.getFirstVisiblePosition();
if (currentPosition == listView.getCount() - 1)
return;
listView.setSelection(currentPosition + 1);
}
问题是列表滚动并且工作得很好,直到必须创建一行(它还不可见)。此时,Next
按钮被Done
按钮替换。
有人知道我该怎么办? 或者也许有人可以指出一个教程,在那里我可以找到更多关于这个问题的内容吗?
谢谢, Arkde
答案 0 :(得分:1)
在这里使用自定义EditText是可以帮助您的代码
EditText test = new EditText(context){
@Override
public void onEditorAction(int actionCode) {
// TODO Auto-generated method stub
super.onEditorAction(actionCode);
if(actionCode == EditorInfo.IME_ACTION_NEXT){
}
}
};