2017-10-18 1 views
0

2つの電話番号を表示する必要がある配列アダプタダイアログボックスで作業しています。問題は、私の数字がそこに表示されていない、空のスペースだけが表示されていますが、私はスペースのいずれかをクリックしているときに番号がそこにあるが表示されていることを私に示している。配列アダプタダイアログにテキストが表示されない

私のコードは以下のとおりである:

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のおかげ。 My Arraysizeは2で、数字は1234,5678です。 –

+1

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

答えて

0

は@IntelliJ Amiyaによって私に与えられた問題、指導を解決しました。私はそれに続くメカニズムをしています。私は、このダイアログボックスを呼び出しています

方法:

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

    } 
関連する問題