Android 为什么移动textview焦点在按钮功能中有效,而在onKeyListener中无效?
我有一个表格,你在一个列表中添加多个名字。我有两个编辑文本,Firstname和LastName。单击“添加”按钮时,焦点从姓移回名。效果相当不错:Android 为什么移动textview焦点在按钮功能中有效,而在onKeyListener中无效?,android,focus,Android,Focus,我有一个表格,你在一个列表中添加多个名字。我有两个编辑文本,Firstname和LastName。单击“添加”按钮时,焦点从姓移回名。效果相当不错: public void onAddBtnClick(View v) { addNameToList(); TextView txtFirstName = (TextView) findViewById(R.id.txtFirstName); Selection.setSelection((Editable) txtFi
public void onAddBtnClick(View v) {
addNameToList();
TextView txtFirstName = (TextView) findViewById(R.id.txtFirstName);
Selection.setSelection((Editable) txtFirstName.getText(), txtFirstName.getSelectionStart());
txtFirstName.requestFocus();
}
这里没问题。但是,当用户点击键盘中的“下一步”按钮时,我希望它也能做同样的事情,即回车按钮。在这里,它执行addNameToList()中的所有函数,并遍历代码中接下来的几行。但它不会从第二个文本视图中删除焦点:
EditText etLastName = (EditText) findViewById(R.id.txtLastName);
etLastName.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
Button btn = (Button) findViewById(R.id.btnAdd);
btn.performClick();
}
return true;
}
});
正如你所看到的,我试着做performClick来看看这是否有效,但它仍然保持着焦点。我还试着把焦点代码放在那里。我是否可以让它在回车时执行相同的操作