多行EditText变为单行

时间:2017-09-25 18:46:25

标签: java android checkbox

我有一个5行的EditText。我使用复选框启用或禁用软键盘。

checkBoxSystem.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (checkBoxSystem.isChecked()) {
                    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.showSoftInput(textArea, InputMethodManager.SHOW_IMPLICIT);
                    textArea.setSelection(textArea.getText().length());
                    textArea.setMinLines(5);
                    textArea.setLines(5);
                    textArea.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
                } else {
                    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(textArea.getWindowToken(), 0);
                    textArea.setMinLines(5);
                    textArea.setLines(5);
                    textArea.setInputType(InputType.TYPE_NULL);
                }
            }
        });

然而,当我检查它时,文本变成单行EditText。 然后,当我取消选中它时,它返回到他的5线位置。 然后我再次勾选方框,EditText仍为5行。 另一个问题是,当我单击后退时,软键盘会消失,但当我触摸EditText时,它不会出现,所以我需要点击两次复选框。

如何防止EditText变成单行?如果我已经选中了复选框,那么当我点击EditText时,如何激活键盘呢?

0 个答案:

没有答案