我尝试使用 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();
}
});
最佳答案
是否有可能将 EditText 包裹在 TextInputLayout 中? 如果是这样,您会在提示文本的动画结束时收到此消息。
这不是真正的问题所在。问题是 onClick 不是第一次触发 EditText View 。 第一次单击用于将焦点设置在 EditText View 上。 第二次单击将触发 onClick 事件,该事件将显示您的对话框。
您可以通过将 EditText 对象的 android:focusableInTouchMode 参数设置为 false 来解决此问题
android:focusableInTouchMode="false"
关于android - 非 Activity InputConnection 上的 finishComposingText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42597918/