2011-09-22 68 views

回答

1

問題不在於它是否實現了Runnable。問題是它必須由主顯示線程運行,並且需要訪問活動的上下文。如果你粘貼你的代碼,我們可以幫你修復它。

+0

謝謝。我知道這一點,並且我從Runnable的活動上下文對象發送。但是,如果我創建Toast.makeContext(上下文,...)比我得到錯誤。我該如何解決這個問題? – user958353

+0

我不完全確定你在說什麼。請粘貼一些代碼,我們會看到你做錯了什麼。 –

0

我想你會遇到錯誤,因爲你正在從非GUI線程創建並顯示Toast。您只能從GUI線程寫入顯示。發佈您的代碼以便我們進一步幫助您。

2

您可以使用處理程序來顯示吐司。因爲Android中很少有東西只能從UI線程完成。試試這個,

在你的onCreate()做到這一點,

 handler = new Handler() { 
     @Override 
     public void handleMessage(Message msg) { 
      progressDialog.cancel(); 
      if (msg.what == 0) { 
      Toast.makeText(Catering.this,"Hi toast",Toast.LENGTH_LONG).show(); 

      } 
    }}; 

現在你的線程,

final Thread Fetcher = new Thread(new Runnable() { 

     public void run() { 
        handler.sendEmptyMessage(0); 

      }); 
    Fetcher.start(); 
0

我覺得你想要做像:

電流等級:

採取contex's object並傳遞到contex.this implemented class's constructor.

在構造函數中,你應該寫:

this.context1 = context; 

在敬酒顯示你應該通過CONTEXT1。

我認爲這會幫助你。