当我点击Enter键时,我使用以下代码隐藏虚拟键盘,但它没有隐藏。如果有人知道这个或代码中的任何错误,请回复我。
package onchip.learning.smalltest;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
public class SmallTest extends Activity {
EditText et;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
et = new EditText(this);
et.setLines(1);
et.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
setContentView(et);
et.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// TODO Auto-generated method stub
if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromInputMethod(et.getWindowToken(), 0);
return true;
}
return false;
}
});
}
}
感谢
答案 0 :(得分:2)
尝试使用hideSoftInputFromWindow(et.getWindowToken(), 0)
代替hideSoftInputFromInputMethod()
答案 1 :(得分:0)
使用此
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);