屏幕变暗但对话框不显示
The screen dims but the dialog doesn't show up
我使用适配器在 片段 中创建了一个列表。单击列表中的每个项目时,我想显示一个不同的对话框。我已将侦听器添加到列表项,并为其中一项(第二项)出现的对话框编写了代码。但是,当我单击该项目时,phone 屏幕会变暗,但不会显示对话框。我在下面添加了相关代码。我在互联网上搜索了很多关于这个问题的信息,并且自己尝试了很多不同的方法,但似乎没有任何效果。
应用程序中的其他一切正常。
我们将不胜感激任何形式的帮助。
提前致谢!
DialogFragment Class:
public class GenreDialogFragment extends DialogFragment{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
AlertDialog dialog = builder.create();
builder.setTitle(R.string.title_genre_dialog);
builder.setMessage("Are you sure?");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// on success
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
return dialog;
}
}
我希望在其中显示对话框的父片段 Class:
public class FragmentAddWatchedMovie extends ListFragment{
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
SetListAdapter();
SetClickListener();
}
private void SetClickListener() {
ListView listView = (ListView) getView().findViewById(android.R.id.list);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position){
case 0:{
FragmentManager manager = getFragmentManager();
GenreDialogFragment fragment = new GenreDialogFragment();
fragment.setTargetFragment(FragmentAddWatchedMovie.this,0);
fragment.show(manager, "GenreDialog_Fragment");
break;
}
case 1:{
}
case 2:{
}
case 3:{
}
case 4:{
}
case 5:{
}
}
}
});
}
将以下行:“AlertDialog dialog = builder.create();
”移至 Dialog
class 中 return 行的正上方。
这对您不起作用,因为您在对构建器设置首选项之前创建了对话框 :)
我使用适配器在 片段 中创建了一个列表。单击列表中的每个项目时,我想显示一个不同的对话框。我已将侦听器添加到列表项,并为其中一项(第二项)出现的对话框编写了代码。但是,当我单击该项目时,phone 屏幕会变暗,但不会显示对话框。我在下面添加了相关代码。我在互联网上搜索了很多关于这个问题的信息,并且自己尝试了很多不同的方法,但似乎没有任何效果。 应用程序中的其他一切正常。
我们将不胜感激任何形式的帮助。 提前致谢!
DialogFragment Class:
public class GenreDialogFragment extends DialogFragment{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
AlertDialog dialog = builder.create();
builder.setTitle(R.string.title_genre_dialog);
builder.setMessage("Are you sure?");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// on success
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
return dialog;
}
}
我希望在其中显示对话框的父片段 Class:
public class FragmentAddWatchedMovie extends ListFragment{
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
SetListAdapter();
SetClickListener();
}
private void SetClickListener() {
ListView listView = (ListView) getView().findViewById(android.R.id.list);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position){
case 0:{
FragmentManager manager = getFragmentManager();
GenreDialogFragment fragment = new GenreDialogFragment();
fragment.setTargetFragment(FragmentAddWatchedMovie.this,0);
fragment.show(manager, "GenreDialog_Fragment");
break;
}
case 1:{
}
case 2:{
}
case 3:{
}
case 4:{
}
case 5:{
}
}
}
});
}
将以下行:“AlertDialog dialog = builder.create();
”移至 Dialog
class 中 return 行的正上方。
这对您不起作用,因为您在对构建器设置首选项之前创建了对话框 :)