繁体   English   中英

当我尝试在模拟器中运行它时,我的应用程序一直说“ Project1保持停止”。 不知道为什么

[英]My app keeps saying “Project1 keeps Stopping” when i try to run it in the emulator. Can't figure out why

这是我的代码,当我运行它时它一直停下来,我不知道为什么,这是我在主要活动中使用的代码:

package com.example.danacarlin.project1new;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class Activity1 extends AppCompatActivity {

private ImageView c_img, m_img, e_img;

int count = 0;
ImageView imgView = (ImageView) findViewById(R.id.imageView4);
TextView result_tv;
TextView count_tv;


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


    c_img = (ImageView) findViewById(R.id.imageView);
    m_img = (ImageView) findViewById(R.id.imageView2);
    e_img = (ImageView) findViewById(R.id.imageView3);

    result_tv = (TextView) findViewById(R.id.textResult);
    count_tv = (TextView)findViewById(R.id.textCount);


    MyOnClickListener myOnClickListener = new MyOnClickListener();
    c_img.setOnClickListener(myOnClickListener);
    m_img.setOnClickListener(myOnClickListener);
    e_img.setOnClickListener(myOnClickListener);
    }
}

这是MyOnClickListener类。 一切似乎都可以正确编译,但是当我运行它时,它将无法运行。

package com.example.danacarlin.project1new;

import android.view.View;

/**
 * Created by DanaCarlin on 2017-03-20.
 */

class MyOnClickListener extends Activity1 implements   View.OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
    int rand = (int) (Math.random() * 3 + 1); // get a random number



    //form 1 to 3

    int count=0;
    count++;
    switch (rand) {
        /*
* rand = 1 means computer is cat, * 2 represents mouse,
* 3 represents elephant
*/
        case 1:
            imgView.setImageResource(R.mipmap.cat); //computer
            switch (v.getId()) {
                case R.id.imageView: //player choose Rock
                    result_tv.setText("Result: " + "Tied!");
                    count_tv.setText("Round: " + count);
                    break;
                case R.id.imageView2: //player choose Paper
                    result_tv.setText("Result: " + "Win!");
                    count_tv.setText("Round: " + count);
                    break;
                case R.id.imageView3: //player choose Scissors
                    result_tv.setText("Result: " + "Lose!");
                    count_tv.setText("Round: " + count);
                    break;
            }
            break;

        case 2:
            imgView.setImageResource(R.mipmap.mouse); //computer choose   mouse

            switch (v.getId()) {
                case R.id.imageView:
                    result_tv.setText("Result: " + "Lose!");
                    count_tv.setText("Round: " + count);
                    break;
                case R.id.imageView2:
                    result_tv.setText("Result: " + "Tie!");
                    count_tv.setText("Round: " + count);
                    break;
                case R.id.imageView3:

                    result_tv.setText("Result: " + "Win!");
                    count_tv.setText("Round: " + count);
                    break;
            }
            break;

        case 3:
            imgView.setImageResource(R.mipmap.elephant); //computer
            switch (v.getId()) {
                case R.id.imageView:
                    result_tv.setText("Result: " + "Win!");
                    count_tv.setText("Round: " + count);
                    break;
                case R.id.imageView2:
                    result_tv.setText("Result: " + "Lose!");
                    count_tv.setText("Round: " + count);
                    break;
                case R.id.imageView3:
                    result_tv.setText("Result: " + "Tie!");
                    count_tv.setText("Round: " + count);
                    break;
            }
            break;
    }
}
}

我将imageView 1,2,3更改为Image按钮,但将imageView4保留为imageView。 但是现在它将一直持续到应用程序启动,出现在屏幕上并且当我按下按钮时它便崩溃了。 这是我的onclick代码。

包project1.csis.pace.edu.project1;

导入android.view.View;

/ ** *由DanaCarlin在2017-03-26创建。 * /

class MyOnClickListener extends MainActivity implements  View.OnClickListener {
    @Override
    public void onClick(View v) {
  form 1 to 3
        choose Rock
        count++;// switch (rand) { /**

        //case 1:
        imgView.setImageResource(R.mipmap.cat1); //computer
        switch (v.getId()) {
            case R.id.cat: //player choose Rock
                result_tv.setText("Result: " + "Tied!");
                count_tv.setText("Round: " + count);
                break;
            case R.id.mouse: //player choose Paper
                result_tv.setText("Result: " + "Win!");
                count_tv.setText("Round: " + count);
                break;
            case R.id.elephant: //player choose Scissors
                result_tv.setText("Result: " + "Lose!");
                count_tv.setText("Round: " + count);
                break;
        }

        //case 2:
        imgView.setImageResource(R.mipmap.mouse1); //computer
        //choose Paper
        switch (v.getId()) {
            case R.id.cat:
                result_tv.setText("Result: " + "Lose!");
                count_tv.setText("Round: " + count);
                break;
            case R.id.mouse:
                result_tv.setText("Result: " + "Tie!");
                count_tv.setText("Round: " + count);
                break;
            case R.id.elephant:
                result_tv.setText("Result: " + "Win!");
                count_tv.setText("Round: " + count);
                break;
        }
        //case 3:
        imgView.setImageResource(R.mipmap.elephant1); //computer
        switch (v.getId()) {
            case R.id.cat:
                result_tv.setText("Result: " + "Win!");
                count_tv.setText("Round: " + count);
                break;
            case R.id.mouse:
                result_tv.setText("Result: " + "Lose!");
                count_tv.setText("Round: " + count);
                break;
            case R.id.elephant:
                result_tv.setText("Result: " + "Tie!");
                count_tv.setText("Round: " + count);
                break;
        }
    }
}

更换

onCreate(savedInstanceState)

super.onCreate(savedInstanceState)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM