我是Android编程新手,但我已经做了一个小应用程序。它有一个EditText
和一个Button
, Okay
。EditText 的输入设置为number
。当用户点击enter
键盘上的按钮时,我希望具有与单击相同的操作Okay
。我怎样才能做到这一点?
问问题
154 次
3 回答
3
mEditText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN &&
keyCode == KeyEvent.KEYCODE_ENTER) {
// do what you do in "Okay" button
return true;
}
return false;
}
});
于 2013-04-27T15:15:44.117 回答
1
您可以分两步完成:
- 使用 Activity 的 onKeyDown() 方法捕获“输入”按钮按下。EditText 上的 TextWatcher 也可能有用。
- 然后使用 InputMethodManager 的 hideSoftInputFromWindow() 方法隐藏软键盘。
我没有给出任何代码片段,因为您可以轻松地用谷歌搜索这两点
于 2013-04-27T14:38:30.667 回答
1
像这样使用 TextWatcher:
mEditText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
for(int i = s.length(); i > 0; i--){
//examine if user presses enter
if(s.subSequence(i-1, i).toString().equals("\n"))
//do your action here
}
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
}
});
这样一来,只要在 EditText 中书写时按下回车键,您就可以随心所欲地进行操作。
于 2013-04-27T15:22:08.400 回答