2014-03-25 24 views
0

我一直在努力做一些看起來很簡單但並非如此的事情。 在我製作的應用程序中,一個方法會計算一個值,並且當您單擊該按鈕時應該在對話框中顯示結果。但是,每次單擊結果按鈕時,結果都是0,因爲它是數字的初始值。你有解決方案嗎?在對話框中顯示計算結果(Android)

這裏是方法:

public int Calcul(int number){ 
if(position == 0 && state1){ 
    number=number+1;} 
else{ 
    number=number+4;} 
return number; } 

這裏是對話:

public void Result(View view) { 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle("Title") 
      .setMessage("Result : " + Integer.toString(number)) 
      .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int id) { 
        } 
       }); 

    builder.show(); 
} 

謝謝您的回答。

+0

是什麼狀態1? – Katana24

+0

你能發佈整個代碼嗎?它會給出一個清晰的想法.. –

回答

0

首先,你應該先創建DialogAlertDialog.Builder對象,然後顯示Dialog如下...

AlertDialog dialog = builder.create(); 
dialog .show(); 

而且,最主要的事情,你只number通過Integer.toString(),你應該通過在toString()方法內調用Calcul()來傳遞返回的結果。

所以,你更新的代碼段將...

public void Result(View view) { 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle("Title") 
      .setMessage("Result : " + Integer.toString(Calcul(number))) 
      .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int id) { 
        } 
       }); 

    AlertDialog dialog = builder.create(); 
    dialog .show(); 
} 
+0

感謝它的工作。 – user3410806

0

替換此

.setMessage("Result : " + Integer.toString(number)) 

與此

.setMessage("Result : " + Integer.toString(Calcul(number)))