0

私は選択可能なデータリストを表示するカスタムDialogFragmentを作成しています。一覧がスクロールせずに画面に収まらないほど長すぎます。 API 23まで、すべてうまくいくようですが、API 24+でテストすると、DialogFragmentのボタンは表示されなくなります。私はMissing buttons on AlertDialog | Android 7.0 (Nexus 5x)を見ましたが、リストに表示されているコンテンツの量を減らして画面上に収まるようにすると、ボタンが表示されるため、表示されません。ボタンを表示させるにはどうすればいいですか?DialogFragmentボタンが画面API 24以上にプッシュオフ

マイonCreateDialog()メソッド:

@NonNull 
@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    final View dialogView = View.inflate(getContext(), android.R.layout.select_dialog_multichoice, null); 

    builder.setView(dialogView) 
      .setTitle(R.string.muscle_groups) 
      .setMultiChoiceItems(Exercise.MUSCLE_GROUPS, selectionTrackingArray, new DialogInterface.OnMultiChoiceClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
        ... 
       } 
      }) 
      .setPositiveButton(R.string.affirmative, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        ... 
       } 
      }) 
      .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        dialog.dismiss(); 
       } 
      }); 

    return builder.create(); 
} 

Buttons appear to be pushed off the screen

任意のより多くの情報が必要な場合、私に教えてください。

答えて

0

setMessage()メソッドをAlertDialog.Builderに設定しても、サンプルコードでは使用できませんか?

画面に収まらないコンテンツがある場合は、アラートダイアログビルダーにカスタムビューとメッセージを同時に設定すると、説明どおりの副作用があります。

この問題を解決するには、カスタムビューにメッセージを追加し、setMessage()メソッドを使用してメッセージテキストを設定しないと、ダイアログボタンが表示されます。

これが役に立ちます。

関連する問題