Я создал список внутри Фрагмент с использованием адаптера. Я хочу отобразить другое диалоговое окно для каждого из элементов в списке при нажатии. Я добавил слушателя к элементам списка и написал код для появления диалогового окна для одного из элементов (второго). Однако, когда я нажимаю этот элемент, экран телефона тускнеет, но диалог не отображается. Я добавил соответствующий код ниже. Я много искал об этой проблеме в Интернете и сам пробовал много разных вещей, но ничего не работает. Все остальное в приложении работает нормально.Экран тускнеет, но диалог не отображается
Любая помощь будет действительно оценена. Спасибо заранее!
DialogFragment Класс:
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;
}
}
Родитель Фрагмент Класс, в котором я хочу, чтобы появиться диалоговое окно:
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:{
}
}
}
});
}
Try двигаться «AlertDialog диалог = builder.create();» прямо над обратной линией пожалуйста. – Cata
Это сработало! Огромное спасибо :) –