在非活动的InputConnection上的finishComposingText

Kai*_*eng 5 android input android-alertdialog android-studio

我试图使用alertdialog输入东西,但当我点击editText系统将显示"W/IInputConnectionWrapper:finishComposingText on inactive InputConnection".

test1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
            View mView = getLayoutInflater().inflate(R.layout.dk, null);
            final AlertDialog dialog = mBuilder.create();
            final EditText day = (EditText) mView.findViewById(R.id.day);
            final EditText month = (EditText) mView.findViewById(R.id.month);
            final EditText year = (EditText) mView.findViewById(R.id.year);
            final Button bu1 = (Button) mView.findViewById(R.id.bu1);


            bu1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
               #code


                 dialog.dismiss();
                }

            });

            dialog.setView(mView);

            dialog.show();

        }
    });
Run Code Online (Sandbox Code Playgroud)

Mat*_*rey 1

EditText 是否可能包含在 TextInputLayout 内?如果是这样,您会在提示文本动画结束时收到此消息。

这并不是真正的问题。问题是,EditText 视图第一次不会触发 onClick。第一次单击用于将焦点设置在 EditText 视图上。第二次单击将触发 onClick 事件,该事件将显示您的对话框。

您可以通过将EditText 对象的android:focusableInTouchMode参数设置为false来解决此问题

android:focusableInTouchMode="false"
Run Code Online (Sandbox Code Playgroud)