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

问题描述:

我有一个简单的应用程序来增加和减少按钮按下一个数字。但不幸的是,当我按下按钮时,我的应用程序崩溃。这里是MainActivity.java代码:onClick方法错误&应用程序崩溃当我按下按钮

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); 
} 

}

decreament和increament方法是在XML文件中。

这里是logcat的:

Here is the logcat:

最终,你必须INT转换成字符串。您不能在TextView上设置整数。从日志中可以看到,这里是O.S.认为你传递了资源ID为String的资源,这个资源从来没有找到,它抛出了ResourceNotFoundException

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

那我该如何将“数量”这个整数变量传递给DisplayIt方法呢? –

+0

查看我的更新回答 – Rahul

+0

完美...知道了...谢谢... –

的问题是,您要.setText()将int而.setText接受一个字符串(实际上,描述的CharSequence)作为参数。试试看这个:

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