无法编辑EditText Android

时间:2016-10-23 22:52:48

标签: java android

我试图创建一个动态对应于W.englishList中字符串数量的AlertDialog。我通过这种方式将EditTexts添加到网格布局:

final Activity act = this;

GridLayout lay = new GridLayout(act);
lay.setOrientation(GridLayout.VERTICAL);

int row = 1;

for (String i : W.englishList) {
        EditText text = new EditText(act);
        text.setText(i);
        LayoutParams p = new GridLayout.LayoutParams();

        p.bottomMargin = 5;
        p.width = GridLayout.LayoutParams.WRAP_CONTENT;
        p.columnSpec = GridLayout.spec(0);
        p.rowSpec = GridLayout.spec(tmp);

        text.setLayoutParams(p);
        lay.addView(text);
        row++;
        }
//Some AlertDialog.setContentView(lay);

一切正常,除了我无法编辑创建的Editexts,我可以对它们进行聚焦,复制它们但我无法编辑它们(键盘没有显示),任何想法?

编辑:我可以将粘贴复制到其中。

1 个答案:

答案 0 :(得分:1)

这是因为allert对话框bloks键盘。 您可以始终显示键盘:

alertDialog.getWindow().setSoftInputMode(
    WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);

或为每个EditText设置onTouchListener并在触摸时显示键盘:

            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

并隐藏它:

                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(input.getWindowToken(), 0);