我的活动大致遵循这种结构:
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,它都不会显示。我也没有任何例外。其余的回调代码完美执行。这是为什么?
答案 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();