我添加了#34; Go"软键盘上的按钮,任何时候我按下键盘都是隐藏的。如何保持它?使用此代码显示它不起作用。感谢
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId== EditorInfo.IME_ACTION_GO){
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
}
return false;
}
答案 0 :(得分:2)
我已经为你编辑了答案,如果你错过了setSingleLine(true),整个东西都行不通。我想你已经添加了,但你可能没有尝试过这个兄弟:
et1.setHint("testing");
et1.setImeActionLabel("Go", EditorInfo.IME_ACTION_GO);
et1.setSingleLine(true);
et1.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId== EditorInfo.IME_ACTION_GO){
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(et1, InputMethodManager.SHOW_FORCED);
return true;
}
else
return false;
}
} );
答案 1 :(得分:1)
如果您希望键盘显示在活动开头,您可以在活动标记内的AndroidManifest.xml中添加以下行:
android:windowSoftInputMode="stateVisible"
要解决“GO”按钮问题,您可以使用以下代码:
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
//imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); //to hide
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED); //to show
您可以在适合您的任务的任何事件中使用此功能,例如TextWatcher's
onTextChanged
,编辑听众。