假设我有一些Activity
A. Activity
A有一个按钮,它从类B调用方法parse()
。parse()
有布尔检查。如果是,则parse()
返回Object
(例如String
);如果它是假的parse()
在B类中调用promtError()
。
活动A:
public class A extends Activity {
//
// activity body
//
public void onClick(View v){
String s = B.parse();
Intent i = new Intent(getApplicationContext(),
AddToCheckActivity.class);
i.putExtra("tip", s);
startActivity(i);
finish();
}
}
其中promtError()
:
public static void promtError(){
context = MyApplication.getAppContext();
AlertDialog.Builder builder = new AlertDialog.Builder(MyApplication.getAppContext());
builder.setMessage("Потеряна связь с сервером. Попробуйте позже.")
.setCancelable(false)
.setPositiveButton("закрыть", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
alert.show();
}
方法解析():
public String parse(){
if(a == 1) return generate();
else promtError();
return "";
}
在我按下promtError()
上的按钮之前,我应该如何修改parse()
或Activity
以返回Activity A
A?所以我希望行为类似于GOTO,当promtError()触发时,parse()不会返回“”并转到活动A,就像从未调用public void onClick(View v)一样。
实际上,此代码的目的是在丢失Internet连接时保护应用程序免于崩溃。应用程序有许多地方调用parse()。 parse()向/从服务器发送/接收数据。因此,我希望将safty chack添加到parse(),而不是将其称为
的活动答案 0 :(得分:2)
我应该怎样在我按下按钮之前模式promfError()返回A的Activity?
您想说“如何解除对话框?”。致电cancel()
或dismiss()
:
public static void promtError() {
context = MyApplication.getAppContext();
AlertDialog.Builder builder = new AlertDialog.Builder(MyApplication.getAppContext());
builder.setMessage("Потеряна связь с сервером. Попробуйте позже.")
.setCancelable(false)
.setPositiveButton("закрыть", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
}