Android网络请求,后跟不同的AlertDialog
我要做的是在新线程中从MainActivity启动一个过程,该过程: 我打网络电话 2从表示要显示哪个AlertDialog的响应中提取类似布尔值的内容 3根据MainActivity中布尔警报对话框的值显示正确的警报 使用Runnable或AsyncTask执行前两个步骤没有问题,但无法在MainActivity中显示警报 我遵循不同的指南,但我无法找到解决方案 解决 我的主要活动: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
@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,似乎我无法以这种方式显示对话框。。。