2013-07-30 195 views
1

我有一个正常显示的警告对话框,正如我打算的那样。问题是,当我从任何活动触发警报时,它会打开看起来是空白布局的内容,然后在空白布局内打开警报对话框。我希望我的警报对话框在用户触发时所处的活动中打开。这是我的代码:AlertDialog后台活动

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

我认为问题可能是第二个参数,但我怎么才能检测到当前活动?

+0

http://www.mkyong.com/android/android-custom-dialog-example/ –

回答

0

试试这个: -

要建立一个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(); 

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

0

您可以创建一个具有警报对话框的透明背景的新Activity。刚刚从任何地方应用推出这个活动,你会得到一个警告对话框,在后台当前的活动:

为了使下面的代码的活动透明地使用:

<activity 
      android:name="name of your Activity" 
      android:excludeFromRecents="true" 
      android:theme="@android:style/Theme.Translucent.NoTitleBar" /> 
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(); 
尝试