alertdialog.builder: لا يتم عرض عناصر لمخططات الاختيار

StackOverflow https://stackoverflow.com/questions/3081440

  •  28-09-2019
  •  | 
  •  

سؤال

لدي مشكلة في alertdialog.builder في الكود التالي:

    public void showSettingsBox(){
  final CharSequence[] items = {"Item1", "Item2", "Item3"};
  final boolean checked[] = new boolean[]{false,false,false};

  AlertDialog.Builder builder = new AlertDialog.Builder(fLabyrinthGame); 
  builder.setMessage(fMessage)
   .setCancelable(false)
   .setMultiChoiceItems(items, checked, new OnMultiChoiceClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
     CharSequence text = "Item number " + which;
     int duration = Toast.LENGTH_SHORT;

     Toast toast = Toast.makeText(fLabyrinthGame, text, duration);
     toast.show();

    }
   })
   .setPositiveButton("Apply", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
     dialog.cancel();
    }
   });
  builder.setTitle(fTitle); 
  builder.setIcon(R.drawable.icon_exclamation); 

  AlertDialog alert = builder.create(); 

  alert.show();   
 }

لا يتم عرض العناصر الثلاثة ومربعات الاختيار ، فهناك خط أبيض واحد فقط بين شريط العنوان و Apply-Button. هل يعرف أي شخص لماذا هذا لا يعمل؟

هل كانت مفيدة؟

المحلول

مسح ال builder.setMessage(fMessage) الخط وسيعمل :)

setMessage يستخدم فقط عندما تريد عرض رسالة نصية. إذا كنت تستخدمه بالتزامن مع setMultiChoiceItems أو setItems يبدو أنه يجعل المنشئ يذهب إلى حالة غير محددة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top