【问题标题】:Attempted to finish an input event but the input event receiver has already been disposed error尝试完成输入事件但输入事件接收器已被处理错误
【发布时间】:2016-07-29 23:09:25
【问题描述】:

我不确定我做了什么,但有一段时间我的代码运行顺利,在我添加新活动后出现错误尝试完成输入事件但输入事件接收器已被处理

我需要有关如何解决此问题的帮助。

package proj.com.desperationfinals;

import android.content.DialogInterface;
import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

EditText editText;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    editText = (EditText) findViewById(R.id.editText);

}





public void validate (View view){
    String word = editText.getText().toString();

    if(word.contentEquals("Sir Zalameda")) {
            AlertDialog.Builder Alert = new AlertDialog.Builder(this);
            Alert.setMessage("Correct!")
                    .create();
        Alert.show();
        Intent i = new Intent(MainActivity.this, Main2Activity.class);
        startActivity(i);



    }else{
        AlertDialog.Builder Alert = new AlertDialog.Builder(this);
        Alert.setMessage("Mali!")



                .create();
        Alert.show();

    }
    }

}

【问题讨论】:

    标签: java android


    【解决方案1】:

    问题出在以下部分:

    AlertDialog.Builder Alert = new AlertDialog.Builder(this);
    Alert.setMessage("Correct!")
                        .create();
    Alert.show();
    Intent i = new Intent(MainActivity.this, Main2Activity.class);
    startActivity(i);
    

    您收到错误是因为您试图在开始新活动之前立即显示警报。现在,对话框的“接收者”是当前活动,一旦您开始切换新活动。要解决此问题,您可以尝试以下方法:

    Alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
             Intent i = new Intent(MainActivity.this, Main2Activity.class);
             startActivity(i);
        } 
    

    TL;DR:无法在开始新活动之前立即显示警报。

    【讨论】:

      猜你喜欢
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 2018-03-25
      相关资源
      最近更新 更多