0

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

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,它都不会显示。我也没有任何例外。其余的回调代码得到完美执行。为什么是这样?

4

2 回答 2

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();
   }
}
于 2012-08-23T10:26:00.127 回答
0

而不是使用 context ,使用 getApplicationContext ......我希望它会显示 toast ......像这样

   Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();
于 2012-08-23T11:11:26.563 回答