我有一个简单的应用程序,可以通过按下按钮来增加和减少数字。但不幸的是,当我按下按钮时,我的应用程序崩溃了。这是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:
答案 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
}