首页 > 解决方案 > 当我从 Main2Activity.java 转到 Main3Activity.java 时,我不断收到错误消息:“testapp 已停止”

问题描述

我对编码很陌生,在调试过程中我也不是很了解。

至于现在,这就是我能提供的所有信息,我希望有人遇到过这类问题并有解决方案。

Main2Activity的代码:

MediaPlayer bmusic;

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

    bmusic = MediaPlayer.create(Main2Activity.this,R.raw.bmapp);
    bmusic.setLooping(true);
    bmusic.start();

    button = findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Main2Activity.this, Main3Activity.class);
            startActivity(intent);

        }
    });
}

@Override
protected void onPause() {
    super.onPause();
    bmusic.release();
    finish();
}

Main2Activity 非常好,但是一旦我单击将我引导到 Main3Activity 的开始游戏按钮,就会弹出一个错误,说“testapp(我的应用程序名称)已停止。

Main3Acitivty的代码:

Button b_continue;

TextView tv_question;

EditText et_answer1;

List<Item> questions;

int curQuestion = 0;

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

    b_continue = findViewById(R.id.b_continue);
    tv_question =  findViewById(R.id.tv_question);
    et_answer1 = findViewById(R.id.et_answer1);

    b_continue.setVisibility(View.INVISIBLE);

    questions = new ArrayList<>();
    //add all questions and answers to the game
    for (int i  = 0; 1 < Database.questions.length; i++){
        questions.add(new Item(Database.questions[i], Database.answers[i]));
    }

    //shuffle the questions
    Collections.shuffle(questions);

    tv_question.setText(questions.get(curQuestion).getQuestion());

    et_answer1.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            //check if the answer is right
            if(et_answer1.getText().toString().equalsIgnoreCase(questions.get(curQuestion).getAnswer())){
                b_continue.setVisibility(View.VISIBLE);
            } else {
                b_continue.setVisibility(View.INVISIBLE);
            }
        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });

    b_continue.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (curQuestion < (Database.questions.length - 1)) {
                //next question
                curQuestion++;
                tv_question.setText(questions.get(curQuestion).getQuestion());
                b_continue.setVisibility(View.INVISIBLE);
                et_answer1.setText("");
            } else {
                //no more questions - game over
                Toast.makeText(Main3Activity.this, "You won the game!", Toast.LENGTH_SHORT).show();
                finish();
            }
        }
    });
}

标签: javaandroid

解决方案


声明活动AndroidManifest.xml

像那样

<activity android:name=".Main3Activity" />

注意:如果是隐式错误。


推荐阅读