2017-10-18 4 views
0

Ich arbeite an Array-Adapter-Dialogfeld, wo ich zwei Telefonnummern anzeigen muss. Das Problem ist, dass meine Nummern dort nicht angezeigt werden, nur der leere Platz wird angezeigt, aber wenn ich auf irgendeinen Platz klicke, zeigt es mir, dass Zahlen dort sind, aber es wird nicht angezeigt.Der Text wird nicht im Array-Adapter angezeigt. Dialog

Mein Code ist unten angegeben:

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

Check 'array' Größe und Druck bitte –

+0

@IntelliJAmiya Dank für Ihre Antwort. Meine Arraysize ist 2 und Zahlen sind: 1234, 5678. –

+1

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

Antwort

0

das Problem gelöst, Anleitung, die mir gegeben durch @IntelliJ Amiya. Ich mache folgenden Mechanismus, um es zu tun.

Methode, wo ich dieses Dialogfeld nenne:

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(); 

Individuelle Adapter Klasse:

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; 
     } 

    } 
Verwandte Themen