Проблема с диалогом одиночного выбора Android с использованием arrayAdapter - PullRequest
0 голосов
/ 13 мая 2011

Я пытался создать собственный диалог с одним выбором, используя ArrayAdapter.Сначала я создал адаптер массива с анонимным классом.

private final Dialog createListFile(final String[] fileList) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.compare);
ArrayAdapter<String> dialogArrayAdapter = new ArrayAdapter<String>(this, R.layout.dialog_row, fileList) {

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolderDialog holder = null;
            if (convertView == null) {are
                LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                convertView = inflater.inflate(R.layout.dialog_row, null);
                holder = new ViewHolderDialog();
                holder.date = (TextView) convertView.findViewById(R.id.dialogDate);
                holder.days = (TextView) convertView.findViewById(R.id.dialogDays);
                convertView.setTag(holder);
            } else {
                holder = (ViewHolderDialog) convertView.getTag();
            }
            String item = getItem(position);
            holder.date.setText(item);
            holder.days.setText("giorni");
            return convertView;
        }
    };

Затем я вызвал метод setSingleChoiceItems для создания списка элементов с отображенной галочкой;Передача в качестве первого параметра arrayAdapter, созданного ранее.

builder.setSingleChoiceItems(dialogArrayAdapter, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
    n = whichButton;
        }
    });

Проблема в том, что при запуске кода отображается галочка.Где я делаю не так?

1 Ответ

0 голосов
/ 18 мая 2012

builder.setSingleChoiceItems автоматически добавляет отметки радиогруппы. Если вам это не нужно, используйте builder.setItems. Смотри: http://developer.android.com/guide/topics/ui/dialogs.html

Посмотрите на код разработчика android и. Используя builder.setItems do вы улучшите производительность, когда не используете ArrayAdapter.

...