フラグメントの中にアダプタを使用してリストを作成しました。私はそれがクリックされたときに、リスト内の項目のそれぞれに対して異なるダイアログを表示したい。リスナーをリストアイテムに追加し、アイテムの1つ(2つ目)のダイアログに表示されるコードを記述しました。ただし、その項目をクリックすると電話画面が暗くなりますが、ダイアログは表示されません。以下の関連コードを追加しました。私はインターネット上でこの問題について多くのことを探し、自分自身で多くのことを試みましたが、何も動作していないようです。 アプリ内の他のすべてが正常に動作します。画面が暗くなりますが、ダイアログが表示されません
どんな種類のヘルプが本当に感謝されます。 ありがとうございます!
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;
}
}
私は、ダイアログを表示したい親フラグメントクラス:右Dialog
クラスの戻りライン上に「AlertDialog dialog = builder.create();
」:
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ダイアログ= builder.createを);」リターンラインの真上でお願いします。 – Cata
それは働いた!どうもありがとうございます :) –