Android AlertDialog后台活动

Android AlertDialog后台活动,android,android-alertdialog,Android,Android Alertdialog,我有一个警报对话框,可以按照我的意愿正确显示。问题是,当我从任何活动触发警报时,它打开看似空白的布局,然后在空白布局中打开警报对话框。我希望在用户触发警报对话框时,该对话框在用户所在的活动中打开。这是我的代码: AlertDialog dialog = new AlertDialog.Builder(this) .setCancelable(false) .setView(getLayoutInflater().inflate(R.layout.activity_about_t2

我有一个警报对话框,可以按照我的意愿正确显示。问题是,当我从任何活动触发警报时,它打开看似空白的布局,然后在空白布局中打开警报对话框。我希望在用户触发警报对话框时,该对话框在用户所在的活动中打开。这是我的代码:

AlertDialog dialog = new AlertDialog.Builder(this)
    .setCancelable(false)
    .setView(getLayoutInflater().inflate(R.layout.activity_about_t2m, null))
    .create();  
    dialog.setTitle("About T2M");
    dialog.show();

我认为问题可能是第二个原因,但我如何检测当前活动呢?

您可以创建一个具有透明背景的新活动,该活动具有警报对话框。只需从应用程序中的任何位置启动此活动,您将在后台看到一个包含当前活动的警报对话框:

要使活动透明,请使用以下代码:

<activity
            android:name="name of your Activity"
            android:excludeFromRecents="true"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
试试这个-

 View v =getLayoutInflater().inflate(R.layout.activity_about_t2m, null);
    AlertDialog dialog = new AlertDialog.Builder(this)
    .setCancelable(false)
    .setView(v)
    .create();  
    dialog.setTitle("About T2M");
    dialog.show();
试试这个:-

要生成AlertDialog,请执行以下操作:

// 1. Instantiate an AlertDialog.Builder with its constructor
 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

// 2. Chain together various setter methods to set the dialog characteristics
 builder.setMessage(R.string.dialog_message)
       .setTitle(R.string.dialog_title);

// 3. Get the AlertDialog from create()
 AlertDialog dialog = builder.create();
您也可以参考以获取进一步的参考