2013-07-25 91 views
-1

你好,我試圖使每個按鈕pres pres去"+3" 我這樣做,但代碼不工作只是在第一次按它顯示我"3"和下一次單擊不要,它的堆疊莫名其妙請告訴我應該怎麼做 ?這段代碼在android java中不起作用爲什麼?

int Health =+ 3; 
health.setText("Health: " + Health + "%"); 

謝謝!

+2

你確定你想讓這兩條語句有不同的變量嗎? –

+0

woops thats misstake,但它不會工作反正... –

+0

兩個錯誤:你顯示DogHealth不健康,和健康將永遠是3,因爲它看起來像一個**本地**變量。 – m0skit0

回答

0

你修改Health和顯示DogHealth

+0

糟糕@RaghavSood已經在他的評論中指出了這一點。 – m0skit0

1

定義在一個較高的範圍內您的健康變量,以便你增加它後,是不是超出範圍立刻道:

int Health = 3; 
public void YourMethod() 
{ 
    Health += 3; 
    health.setText("Health: " + Health + "%"); 
} 
+0

哦謝謝工作的人xD –

+0

@BLaZuRE是的,沒有注意到,現在修復。儘管這不是他唯一的問題(我認爲只是基於他的錯字說現在可行)。 –

3

每一次,你正在創建一個新的int並將其添加3到它的默認值,這是零 - 因此它將始終是3.

你想要的是這樣的:

public class MyActivity extends Activity{ 

    int health; 

    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

    ... 

    // in click listener 
    final OnClickListener mButton1_OnClickListener = new OnClickListener() { 
     public void onClick(final View v) { 
      ... 
      health += 3; 
      ... 
     } 
    }; 

請注意,我已經使用標準的Java慣例命名變量,並帶有前導小寫字母。

+0

+1,但你應該顯示OP位於「健康」的位置。我擔心他仍然會使用此代碼片段將其放入方法中。 – m0skit0

+0

不能正常工作:/ –

+0

@StefanRafa請用你有的新代碼編輯你的問題。請僅包含聲明'health'和'onClickListener'的位。 – Simon

相關問題