2014-11-24 82 views
2

我試圖創建一個敬酒的價值應該反映一個數字,並應該動態改變,而仍然顯示吐司。我不想爲價值的每一次變化創造新的敬酒。該值的變化應該反映在現有的烤麪包本身。這是否可能,如果是的話,我應該怎麼做呢?如何在Toast Notification動態顯示中更改文本?

+0

有你在使用某些變量或任何試過嗎? – 2014-11-24 05:06:54

+0

http://developer.android.com/guide/topics/ui/notifiers/toasts.html#CustomToastView – John 2014-11-24 05:08:25

+0

@MehulJoisar,我嘗試過,但一旦顯示吐司,其中的文本在那裏不會更新,即使變量的價值得到改變。 – 2014-11-24 05:12:42

回答

8

您可以保存您從makeText獲取的Toast實例,並使用setText進行更新。

修訂

代碼:

public class MainActivity extends ActionBarActivity { 

    private Toast mToast; 

    private int count = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     findViewById(R.id.toast).setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(final View v) { 
       if (mToast == null) { 
        mToast = Toast.makeText(MainActivity.this, "Count " + 0, Toast.LENGTH_LONG); 
       } 
       mToast.setText("Count " + count++); 
       mToast.show(); 
      } 
     }); 
    } 
} 
+0

啊,謝謝。我會給這個鏡頭。 – 2014-11-24 05:14:18

+0

似乎它不起作用。每次使用setText時,Toast都會重繪。你可以建議任何其他方式? – 2014-11-24 06:56:02

+0

但什麼不工作?要在Toast中顯示新文本,應該重繪。 – Bracadabra 2014-11-24 14:46:47