2017-10-18 90 views
0

我正在阵列适配器对话框中,我需要显示两个电话号码。问题是我的号码没有显示在那里,只显示空白空间,但是当我点击任何空间时,它显示我的号码在那里,但没有显示。文本没有显示在阵列适配器对话框

我的代码如下:

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

检查'array'大小和打印请 –

+0

@IntelliJAmiya感谢您的回复。我的数组大小是2,数字是:1234,5678. –

+1

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

回答

0

解决了@IntelliJ阿米亚·给我的问题,指导。我正在做下面的机制来做到这一点。

方法,其中我打电话此对话框:

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

自定义适配器类:

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

    }