Sag*_*kar 18 keyboard android android-edittext
谢谢阅读.
我面临一个奇怪的问题:我的应用程序行为是这样的,当Activity启动时,我requestFocus()在一个EditText并显示软键盘.
但是,当我按下后退按钮以关闭键盘并点击时,EditText我不再让键盘弹出.唯一的出路就是重新开始Activity.
这是我的代码的样子:
EditText editText = (EditText) findViewById(R.id.editText);
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm != null) {
imm.toggleSoftInput(0, 0);
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
}
Run Code Online (Sandbox Code Playgroud)
这是我的XML:
<EditText android:id="@+id/editText"
android:layout_width="wrap_content"
android:imeOptions="actionSearch" android:hint="Test Hint"
android:layout_height="wrap_content" android:layout_centerHorizontal="true"
android:maxLength="30">
</EditText>
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
谢谢!
Lal*_*ani 58
尝试打开并隐藏在内部Runnable,
打开
ettext.requestFocus();
ettext.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(ettext, 0);
}
},200);
Run Code Online (Sandbox Code Playgroud)
关闭
ettext.requestFocus();
ettext.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.hideSoftInputFromWindow(ettext.
getWindowToken(), 0);
}
},200);
Run Code Online (Sandbox Code Playgroud)
您使用错误的视图来显示输入窗口.
EditText editText = (EditText) findViewById(R.id.editText);
editText.requestFocus();
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm != null) {
imm.showSoftInput(editText, 0);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18713 次 |
| 最近记录: |