1

一旦用户按下“Enter”,我需要一种从“EditText”中获取文本的方法,如果它失去焦点,它也应该调用一个方法。

我像这样创建了 EditText:

 <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/button2"
        android:ems="10" >
4

2 回答 2

1

使用 EditText 动作监听器。参考这个问题,大概是一样的:Handle Enter in EditText

用于检测焦点丢失:

if(!(et.isFocused)){
  //call your method here
}
于 2012-06-14T10:26:13.600 回答
1

要接收按键,您的 EditText 需要获得焦点:

editText1.setFocusableInTouchMode(true);
editText1.requestFocus();

然后设置 onkeylistener():

editText1.setonKeyListener(new OnKeyListener(

@override onKey(View v, int keyCode, KeyEvent event) {
if(event.getAction()==KeyEvent.ACTION_UP && keyCode==KeyEvent.KEYCODE_ENTER){
// what you need to do when Enter is pressed
return true;

}else return false;

}

对于失去焦点,您需要实现接口并View.onFocusChange检查hasFocusfalse

于 2012-06-14T10:32:59.477 回答