Переключатели не отображаются при использовании AlertDialog с пользовательским адаптером

1

У меня есть список изображений, загруженных в AlertDialog, с использованием настраиваемого ArrayAdapter, и я использую AlertDialog builder.setSingleChoiceItems, но не отображаю кнопки Radio. Вот некоторые из моего кода:

    final ListAdapter adapter = new IconAdapter(AddNote.this, R.layout.list_image_item);

    btnPickIcon.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder builder = new AlertDialog.Builder(AddNote.this);
            builder.setTitle("Pick an icon");
            builder.setSingleChoiceItems(adapter, 0, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int item) 
                {
                    Toast.makeText(AddNote.this, "You selected " + item,Toast.LENGTH_LONG).show();
                    dialog.dismiss();
                }
            });
            AlertDialog alert = builder.create();
            alert.show();
        }
    });

И адаптер:

class ViewHolder {
    ImageView icon;
}

public class IconAdapter extends ArrayAdapter<Integer> {
//      ArrayList<View> imageViews = new ArrayList<View>();
    private Integer[] mIconList = {
              R.drawable.symbol1, R.drawable.symbol2, R.drawable.symbol3, R.drawable.symbol4, R.drawable.symbol5};

    public IconAdapter(Context context, int textViewResourceId) {
        super(context, textViewResourceId);
    }

        ViewHolder holder;

        public int getCount() {
      return mIconList.length;
  }

  public Integer getItem(int position) {
      return mIconList[position];
  }

  public long getItemId(int position) {
      return position;
  }

        public View getView(int position, View convertView, ViewGroup parent) {
                final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

                if (convertView == null) {
                        convertView = inflater.inflate(R.layout.list_image_item, null);

                        holder = new ViewHolder();
                        holder.icon = (ImageView) convertView.findViewById(R.id.listImage);
                        convertView.setTag(holder);
                } else {
                        holder = (ViewHolder) convertView.getTag();
                }              

                    Drawable tile = getResources().getDrawable(mIconList[position]);
                    holder.icon.setImageDrawable(tile);
                return convertView;
        }
    }

Кто-нибудь знает, почему радиокнопки не отображаются?

  • 0
    Все еще борется с отображением кнопок радио. Кто-нибудь еще видел что-нибудь подобное?
Теги:
radio-button
android-arrayadapter
alertdialog

1 ответ

0
final ListAdapter adapter = new IconAdapter(AddNote.this, R.layout.simple_list_item_single_choice);

Используйте simple_list_item_single_choice вместо list_image_item.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню