编辑文本:尝试完成输入事件,但输入事件接收器已被释放



XML

.xml
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
android:layout_marginLeft="16dp"
app:hintTextAppearance="@style/WhiteTextInputLayout"
android:layout_marginTop="8dp"
android:id="@+id/txDept"
android:textColorHint="#FFF"
android:layout_marginBottom="8dp">
<EditText
android:id="@+id/input_department"
android:layout_width="match_parent"
android:layout_marginRight="16dp"
android:layout_marginLeft="16dp"
android:layout_height="wrap_content"
android:textColor="#FFF"
android:editable="false"
android:drawableRight="@drawable/ic_department"
android:inputType="text"
android:hint="Department"/>
</android.support.design.widget.TextInputLayout>

Java.file

etDepartment.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
chooseDepartment();
return true;
}
});
void chooseDepartment(){
final CharSequence[] items = {AUTO,CIVIL,CSC,EEE,ECE,EIE,ETE,IT,MBA,MCA,MECH};
final AlertDialog.Builder builder=new AlertDialog.Builder(SignUp.this);
builder.setTitle("Choose your Department");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
etDepartment.setText(items[which]);
dialog.dismiss();
}
});
builder.show();
}

当用户单击该列表对话框中显示的项目时。编辑文本将设置该文本。

但是现在它无法通过单击关闭对话框。单击两次或三次后,对话框将关闭。

我在日志猫中看到的错误:

W/InputEventReceiver:试图完成输入事件,但输入 事件接收器已被释放

由于您将在OnTouchListener中获得多个操作,因此此对话框多次打开,因此请尝试仅在MotionEvent.ACTION_UP上进行操作,

试试这个,

etDepartment.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(motionEvent.getAction() == MotionEvent.ACTION_UP) {
chooseDepartment();
}
return true;
}
});

最新更新