实施回调的吐司

时间:2012-08-23 10:24:01

标签: android callback android-asynctask progressdialog toast

我的活动大致遵循这种结构:

public class myActivity extends Activity implements myCallback{
   //Code

   @Override
   public void onCreate(Bundle savedInstaceState){
       super.onCreate(savedInstanceState);
       new myAsyncTask(myActivity.this).execute();
   }
   public void myCallback(Context context){
   //Code
   Toast.makeText(context,"Hello",Toast.LENGTH_SHORT).show();
   }
}

myAsyncTask定义了myCallback()接口,最终调用它。无论我做什么,无论我试图展示的UI元素,无论是Toast还是ProgressDialog,它都不会显示。我也没有任何例外。其余的回调代码完美执行。这是为什么?

2 个答案:

答案 0 :(得分:0)

尝试使用:

public class myActivity extends Activity implements myCallback{
   //Code
   Context mContext;


   @Override
   public void onCreate(Bundle savedInstaceState){
       super.onCreate(savedInstanceState);
       mContext = this;
       new myAsyncTask(getApplicationContext()).execute();
   }
   public void myCallback(Context context){
   //Code
   Toast.makeText(mContext,"Hello",Toast.LENGTH_SHORT).show();
   }
}

答案 1 :(得分:0)

不使用上下文,而是使用getApplicationContext ...我希望它会显示toast ...就像这样

   Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();