Android网络请求,后跟不同的AlertDialog

Android网络请求,后跟不同的AlertDialog,android,user-interface,android-asynctask,alert,runnable,Android,User Interface,Android Asynctask,Alert,Runnable,我要做的是在新线程中从MainActivity启动一个过程,该过程: 我打网络电话 2从表示要显示哪个AlertDialog的响应中提取类似布尔值的内容 3根据MainActivity中布尔警报对话框的值显示正确的警报 使用Runnable或AsyncTask执行前两个步骤没有问题,但无法在MainActivity中显示警报 我遵循不同的指南,但我无法找到解决方案 解决 我的主要活动: @Override protected void onCreate(Bundle savedInstanceS

我要做的是在新线程中从MainActivity启动一个过程,该过程:

我打网络电话

2从表示要显示哪个AlertDialog的响应中提取类似布尔值的内容

3根据MainActivity中布尔警报对话框的值显示正确的警报

使用Runnable或AsyncTask执行前两个步骤没有问题,但无法在MainActivity中显示警报

我遵循不同的指南,但我无法找到解决方案

解决

我的主要活动:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mHandler=new Handler();
    new Thread(new UpdateRunnable(this,mHandler)).start();
    /* Other stuff */
}
我的Runnable:

public class UpdateRunnable implements Runnable{

private Activity activity;
private Handler mHandler;
private boolean update;
/* Other stuff */


public UpdateRunnable(Activity activity, Handler mHandler){
    this.activity = activity;
    this.mHandler = mHandler;
    /* Other stuff */
}

@Override
public void run() {
    // It get from web which Dialog to call
    update = update();
    // It manage the UI work
    mHandler.post(new Runnable() {
        public void run() {
            if(update){
                show_dialog_you_are_not_updated();
            } else {
                show_dialog_you_are_updated();
            }
        }
    });
}
/* The methods update, show_dialog_you_are_not_updated, show_dialog_you_are_updated */
}

我控制了应用程序是否从internet更新,然后1如果它更新了,我想显示一个AlertDialog,您正在更新!2如果未更新,我想显示您未更新->单击“是”,我将用户发送到Google Play商店:startActivitynew IntentIntent.ACTION\u VIEW,Uri.parsemarket://details?id= +appPackageName;请显示您遇到问题的代码Sok:D我编辑了我的问题并添加了代码。您为什么不尝试在您的主要活动上显示AlertDialog?请告诉我,您能告诉我怎么做吗?要知道显示哪个对话框,我需要从Web异步获取布尔值。因此,我无法理解如何在web请求后通知MainActivity以显示对话框;我也尝试了Observer模式,但它不起作用MainActivity=Observer,UpdateRunTable=Observed,似乎我无法以这种方式显示对话框。。。