android - 软键盘未显示在 AlertDialog 中

标签 android android-edittext android-softkeyboard

所以我有一个菜单项,其中显示带有 EditTextAlertDialog ,问题是,尽管它已聚焦,但软键盘不会显示,直到我单击 edittext ,有人有解决办法吗?我试过了

InputMethodManager imm = (InputMethodManager)
                         getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);

但是它不起作用。这是我的代码

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    return (applyMenuChoice(item) || super.onOptionsItemSelected(item));
}

private boolean applyMenuChoice(MenuItem item) {
    switch (item.getItemId()) {
    case SEARCH:
        final AlertDialog.Builder alert = new AlertDialog.Builder(this);
        final EditText input = new EditText(this);
        input.setMinimumWidth(300);
        input.setInputType(InputType.TYPE_CLASS_NUMBER);
        alert.setView(input);
        alert.setPositiveButton("Ok",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,
                            int whichButton) {
                        String value = input.getText().toString().trim();
                        Toast.makeText(getApplicationContext(), value,
                                Toast.LENGTH_SHORT).show();
                    }
                });

        alert.show();       
        return (true);
    case DELETE:
        getListView().setAdapter(null);
        return (true);
    }
    return (false);
}

最佳答案

试试这个代码,

打开

                 ettext.requestFocus();
                ettext.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        InputMethodManager keyboard = (InputMethodManager)
                        getSystemService(Context.INPUT_METHOD_SERVICE);
                        keyboard.showSoftInput(ettext, 0);
                    }
                },200);

关于android - 软键盘未显示在 AlertDialog 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7378043/

相关文章:

android - 为什么在 RecyclerView 中滚动时 EditText 中的输入值会交换其位置?

android - 使用 InputMethodManager 手动显示软键盘不会调整窗口

java - 如何在动画后隐藏textview

android - 在 listview 上过滤消失列表项,同时在 edittext 中输入内容

android - 无法在 ListView 项目中正确选择文本

android - 一旦我显示带有 EditText 的对话框,如何使软键盘出现?

Android - 在键盘上方显示 BottomSheetDialogFragment

java - android webview.loadUrl 不会加载另一个网页

java - ProgressDialog 出现得太晚

java - Android MANIFEST.MF 等效项