2011-09-22 26 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。

我认为这会帮助你。