【发布时间】:2014-02-24 13:40:21
【问题描述】:
好的,伙计们,这是我关于 SO 的第一个问题,我想知道是否真的有必要将 DialogFragment 用作我在 Activity 中拥有的简单自定义对话框的容器。
这是我的代码:
public class MainActivity extends Activity
{
// VARS:
private Button buttonShowDialog;
private Dialog dialogSimple;
private Button buttonOK;
private Button buttonCancel;
// ONCREATE:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.act_main);
buttonShowDialog = (Button) findViewById(R.id.button_showdialog);
buttonShowDialog.setOnClickListener(new OnClickListener)
{
@Override
public void onClick(View view)
{
if (dialogSimple != null)
{
dialogSimple.show();
}
else
{
showDialog();
}
}
});
}
// SHOW DIALOG:
private void showDialog()
{
dialogSimple = new Dialog(MainActivity.this);
dialogSimple.setContentView(R.layout.dialog);
buttonOK = (Button) dialogSimple.findViewById(R.id.button_ok);
buttonCanel = (Button) dialogSimple.findViewById(R.id.button_cancel);
buttonOK.setOnClickListener(new OnClickListener)
{
@Override
public void onClick(View view)
{
doSomeStuff();
}
});
buttonCanel.setOnClickListener(new OnClickListener)
{
@Override
public void onClick(View view)
{
dialogSimple.dismiss();
}
});
dialogSimple.show();
}
}
我的活动清单条目:
android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
我测试过,它适用于: API 8(设备), 9(设备), 10(鸸鹋), 11(鸸鹋), 16(鸸鹋), 17(设备), 18(设备) 和 19(鸸鹋)
所以我担心的是,通过这个程序,我的应用程序可能会在某些设备上出现异常,因为 Dialog 不在 DialogFragment 中。
我的问题:
- 我的担心正确吗?
- 如果是,我想知道使用此程序会在我的应用程序中发生什么样的坏事?
- 也许有一些示例代码可以以简洁且简短的方式正确执行此操作?
【问题讨论】:
标签: java android dialog android-activity android-dialogfragment