首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当我从Main2Activity.java转到Main3Activity.java时,我一直收到一个错误:"testapp已停止“

当我从Main2Activity.java转到Main3Activity.java时,我一直收到一个错误:"testapp已停止“
EN

Stack Overflow用户
提问于 2018-12-10 20:30:12
回答 1查看 51关注 0票数 -2

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

就目前而言,这是我所能提供的所有信息,我希望有人已经遇到了这种问题,并有一个解决方案。

Main2Activity:的代码

代码语言:javascript
复制
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的代码

代码语言:javascript
复制
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();
            }
        }
    });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-10 20:48:52

AndroidManifest.xml中声明活动

就像这样

代码语言:javascript
复制
<activity android:name=".Main3Activity" />

注意:如果是隐式错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53705705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档