[英]Get current Activity with Android
我有一個方法可以掃描位置,並在我進行的每個活動中調用該方法,每次觸發操作時我需要顯示一個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);
上創建它
在公共類中具有AlertDialog
邏輯,並使用帶有傳遞上下文的方法進行調用。
例如:
showAlert(youractivitycontext);
使用Context
作為當前活動。
您有多種選擇...您必須了解的內容:
您只能從活動中顯示AlertDialogs
您有多種選擇
將活動實例作為參數傳遞給其他類的構造函數...然后您可以從任何地方調用活動
使用通知(類不必是活動)
檢查這個問題。 除此以外
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();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.