2017-10-18 11 views
0

Je travaille sur la boîte de dialogue Adaptateur de matrice dans laquelle je dois afficher deux numéros de téléphone. Le problème est que mes numéros ne sont pas affichés ici, seul un espace vide est affiché, mais quand je clique sur n'importe quel espace, il me montre que les chiffres sont là mais ne sont pas visibles.Le texte ne s'affiche pas dans la boîte de dialogue Adaptateur de matrice

Mon code est donné ci-dessous:

public void showDialog(List<String> array) { 

    AlertDialog.Builder builder = new AlertDialog.Builder(this); 

    final ArrayAdapter<String> arraylist=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, array); 

    builder.setSingleChoiceItems(arraylist, 0, new DialogInterface.OnClickListener() { 

     public void onClick(DialogInterface dialog, int item) { 
      phoneCall(arraylist.getItem(item)); 
      dialog.dismiss(); 
      } 

     }); 
AlertDialog alert = builder.create(); 
alert.setTitle("تماس"); 
alert.show(); 

} 

enter image description here

+1

chèque 'array' taille et impression s'il vous plaît –

+0

@IntelliJAmiya merci pour votre réponse. My Arraysize est 2 et les numéros sont: 1234, 5678. –

+1

https://stackoverflow.com/questions/43202985/android-spinner-items-not-showing –

Répondre

0

résolu le problème, l'orientation m'a été donnée par @IntelliJ Amiya. Je fais le mécanisme suivant pour le faire.

Méthode où je fais appel cette boîte de dialogue:

ListAdapter adapter = new PhoneDialogAdapter(Kasab_o_karahi_activity_detail.this, array); 

     final AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     //AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.CustomAlertDialogTheme)); 

     builder.setTitle("تماس").setAdapter(adapter, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int item) { 

         String number = (adapter.getItem(item)+""); 
         phoneCall(number); 
         dialog.dismiss(); 
        } 
       }).show(); 

classe adaptateur personnalisé:

public class PhoneDialogAdapter extends ArrayAdapter<String> { 

     private List<Integer> images; 

     public PhoneDialogAdapter(Context context, List<String> items) { 
      super(context, android.R.layout.select_dialog_item, items); 
      this.images = images; 
     } 

     public PhoneDialogAdapter(Context context, String[] items) { 
      super(context, android.R.layout.select_dialog_item, items); 

     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      View view = super.getView(position, convertView, parent); 
      TextView textView = (TextView) view.findViewById(android.R.id.text1); 
      textView.setTextColor(Color.BLACK); 
//   textView.setCompoundDrawablesWithIntrinsicBounds(images.get(position), 0, 0, 0); 
      textView.setCompoundDrawablePadding((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 12, getContext().getResources().getDisplayMetrics())); 
      return view; 
     } 

    }