1

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

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

我认为问题可能是第二个论点,但我什至如何检测当前活动?

4

3 回答 3

0

试试这个-

 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();
于 2013-07-30T05:29:06.553 回答
0

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

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

<activity
            android:name="name of your Activity"
            android:excludeFromRecents="true"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
于 2013-07-30T05:23:14.517 回答
0

尝试这个:-

要构建警报对话框:

// 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();

您还可以参考http://developer.android.com/guide/topics/ui/dialogs.html#DialogFragment 以供进一步参考。

于 2013-07-30T05:29:36.167 回答