Android Studio,应用程序将无法运行而不会崩溃

时间:2018-10-10 22:38:22

标签: java android android-studio crash

我正在尝试用我的Java开发的Android Studio开发一个非常简单的应用程序,用于我的第一个应用程序项目。我目前没有编写很多代码,但是每次应用程序尝试运行时,它都会“停止工作”,并且永远不会打开。

我不是很肯定我正在寻找Logcat的错误部分,但这是我相信Logcat告诉我的。

Button rollButton = findViewById(R.id.rollButton);
TextView numberRoll = findViewById(R.id.numberRoll);
SeekBar amountSeek = findViewById(R.id.amountSeek);

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

    rollButton.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            Random ran = new Random();
            ran.nextInt(amountSeek.getProgress());
            numberRoll.setText(ran.toString());
        }

    });
}

这是我项目的所有代码(几乎没有)

{{1}}

}

如果这是正确的错误,那么看来这是模拟器空间不足或其他问题。但是我不知道如何解决这个问题。

有帮助吗?

1 个答案:

答案 0 :(得分:0)

在定义布局文件后将以下行移动到onCreate函数

Button rollButton = findViewById(R.id.rollButton);
TextView numberRoll = findViewById(R.id.numberRoll);
SeekBar amountSeek = findViewById(R.id.amountSeek);

您在定义资源文件之前调用资源。这是定义资源文件的功能。

setContentView(R.layout.activity_main);

您的代码应为

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

Button rollButton = findViewById(R.id.rollButton);
TextView numberRoll = findViewById(R.id.numberRoll);
SeekBar amountSeek = findViewById(R.id.amountSeek);

rollButton.setOnClickListener(new View.OnClickListener(){
    public void onClick(View v) {
        Random ran = new Random();
        ran.nextInt(amountSeek.getProgress());
        numberRoll.setText(ran.toString());
    }

});
}

或者,如果您喜欢

Button rollButton;
TextView numberRoll;
SeekBar amountSeek;

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

rollButton = findViewById(R.id.rollButton);
numberRoll = findViewById(R.id.numberRoll);
amountSeek = findViewById(R.id.amountSeek);

rollButton.setOnClickListener(new View.OnClickListener(){
    public void onClick(View v) {
        Random ran = new Random();
        ran.nextInt(amountSeek.getProgress());
        numberRoll.setText(ran.toString());
    }

});
}

并确保ID都已在您的xml文件中设置。

只需将点放在R.id之后。然后等待Android Studio显示您资源文件中所有ID的下拉列表。这样可以防止错别字。