2017-04-02 96 views
-1

我有一個簡單的應用程序來增加和減少按鈕按下一個數字。但不幸的是,當我按下按鈕時,我的應用程序崩潰。這裏是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:

回答

1

最終,你必須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

完美...知道了...謝謝... –

2

的問題是,您要.setText()將int而.setText接受一個字符串(實際上,描述的CharSequence)作爲參數。試試看這個:

quantityTextView.setText(String.valueOf(xyz)); 
相關問題