在程序的布局中有一個 EditText。當用戶在編輯框中輸入一些文本後,然後點擊“完成”鍵後,我想把編輯框中的閃爍光標去掉。我查相關資料,使用如下的代碼,可以還是沒有實現,閃爍的光標依然存在。
private class MyOnKeyListener implements OnKeyListener {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN
&& keyCode == KeyEvent.KEYCODE_ENTER) {
// FAIL 0
MyActivity.this.findViewById(R.id.someOtherView).requestFocus();
// FAIL 1
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE
);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
// FAIL 2
MyActivity.this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
);
return true;
} else {
return false;
}
}
}
請問在編輯框中輸完內容後如何把這個光標刪除呢?
兩種方法:
1. 讓focus變到其他不是原來EditText的地方,比如那個button
2. 設置EditText的屬性,setEnabled(false)