我有一个方法可以扫描位置并在我拥有的每个活动上调用,每次动作触发我需要显示一个alertDialog,这就是代码:
AlertDialog.Builder builder = new AlertDialog.Builder(mMainActivity.this);
builder.setMessage("test")
.setCancelable(false)
.setPositiveButton("go", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(mMainActivity.this,LocationDetails.class);
intent.putExtra("placeId",1);
startActivity(intent);
}
})
.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
但是如何在当前活动中创建警报?因为现在它只在AlertDialog.Builder(mMainActivity.this);
答案 0 :(得分:1)
在公共类中使用此AlertDialog
逻辑,并使用传递上下文的方法进行调用。
例如:
showAlert(youractivitycontext);
使用Context
作为您当前的活动。
答案 1 :(得分:1)
你有各种选择......你必须知道:
您可以从仅限活动
显示AlertDialogs
您有各种选择
将您的活动实例作为参数传递给其他类的构造函数...然后您可以从任何地方调用活动
使用通知(类不需要是活动)
答案 2 :(得分:0)
create class vis static method in vich you transfer "link" yours activitis
for example from MainActivity call :
DialogUtils.createSomeDialog(MainActivity.this);
or from SecondActivity:
DialogUtils.createSomeDialog(SecondActivity.this);
public class DialogUtils
{
public static void createSomeDialog(final Context context){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage("test")
.setCancelable(false)
.setPositiveButton("go", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(context,LocationDetails.class);
intent.putExtra("placeId",1);
context.startActivity(intent);
}
})
.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
}