如何显示带有 Android 的对话框?
How to show a dialog with Android?
这里完全是菜鸟。浏览了 Google 的开发人员参考,但没有找到足够的细节让我理解。我试图在点击操作栏项目时显示一个对话框。
我有 2 个 class。第一个只是 DialogFragment,使用带有正按钮和负按钮的 AlertDialog 构建器。
第二个 class 是 Activity,我想在其中调用我的 DialogFragment 并显示对话框,但是当我尝试在 OnOptionsItemSelected 函数下执行此操作时,我使用以下命令代码:
DialogFragment newFragment = new CreateWordListDialog();
newFragment.show(getSupportFragmentManager(), "createWordList");
我在第 2 行收到 "cannot resolve method" 行错误。这条线应该放在哪里?我一定是遗漏了什么。
在函数 OnOptionsItemSelected
中您可以构造您的 AlertDialog,您不需要为此创建另一个 class。
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.title) //
.setMessage(R.string.message) //
.setPositiveButton(getString(R.string.positive), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// TODO
dialog.dismiss();
}
}) //
.setNegativeButton(getString(R.string.parking_no_button), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// TODO
dialog.dismiss();
}
});
builder.show();
In Android studio android.support.v4 等默认不包含。因此,要么手动添加这些依赖项,要么使用 getFragmentManager()
而不是 getSupportFragmentManager()
,问题将得到解决
这里完全是菜鸟。浏览了 Google 的开发人员参考,但没有找到足够的细节让我理解。我试图在点击操作栏项目时显示一个对话框。
我有 2 个 class。第一个只是 DialogFragment,使用带有正按钮和负按钮的 AlertDialog 构建器。
第二个 class 是 Activity,我想在其中调用我的 DialogFragment 并显示对话框,但是当我尝试在 OnOptionsItemSelected 函数下执行此操作时,我使用以下命令代码:
DialogFragment newFragment = new CreateWordListDialog();
newFragment.show(getSupportFragmentManager(), "createWordList");
我在第 2 行收到 "cannot resolve method" 行错误。这条线应该放在哪里?我一定是遗漏了什么。
在函数 OnOptionsItemSelected
中您可以构造您的 AlertDialog,您不需要为此创建另一个 class。
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.title) //
.setMessage(R.string.message) //
.setPositiveButton(getString(R.string.positive), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// TODO
dialog.dismiss();
}
}) //
.setNegativeButton(getString(R.string.parking_no_button), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// TODO
dialog.dismiss();
}
});
builder.show();
In Android studio android.support.v4 等默认不包含。因此,要么手动添加这些依赖项,要么使用 getFragmentManager()
而不是 getSupportFragmentManager()
,问题将得到解决