onClick方法错误&按下按钮时应用程序崩溃

时间:2017-04-02 18:13:09

标签: android onclick crash

我有一个简单的应用程序,可以通过按下按钮来增加和减少数字。但不幸的是,当我按下按钮时,我的应用程序崩溃了。这是MainActivity.java代码:

package com.example.sparker.asafool;

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

public class MainActivity extends AppCompatActivity {

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

int quantity = 1;

public void decreament(View view) {
    quantity = quantity - 1;
    displayIt(quantity);
}

public void increament(View view) {
    quantity = quantity + 1;
    displayIt(quantity);
}

public void displayIt(int xyz){
    TextView quantityTextView = (TextView)findViewById(R.id.textView);
    quantityTextView.setText(xyz);
}

}

递减和递增方法在xml文件中。

这是logcat:

Here is the logcat:

2 个答案:

答案 0 :(得分:2)

问题是你试图将.setText()作为int,而.setText接受一个字符串(实际上是一个CharSequence)作为参数。试试这样:

quantityTextView.setText(String.valueOf(xyz));

答案 1 :(得分:1)

最终你必须将int转换为String。您无法在TextView上设置整数。从日志中你可以看到,这里是O.S.认为你传递了从未找到的String资源的资源ID,它抛出了ResourceNotFoundException

public void displayIt(int xyz) {
 TextView quantityTextView = (TextView)findViewById(R.id.textView);
 quantityTextView.setText(""+ xyz); // convert into String
}