Установка положения в счетчике

Добрый день,

У меня есть массив счетчиков, содержащий 3 счетчика. Каждый счетчик заполняется массивом строк res. Каждый массив содержит числа от 1 до 100. Когда действие начинается, каждый счетчик содержит массив строк от 1 до 100, и когда вы нажимаете на счетчик, первым выбором является 1.

Скажем, пользователь выбирает 25 на первом счетчике. Я бы хотел, чтобы второй счетчик показывал 25 в качестве отправной точки для прокрутки, когда счетчик нажимается, но не запускает счетчик. Второй счетчик по-прежнему будет содержать массив 1-100, поэтому пользователь может прокрутить вниз до номера арендодателя, если захочет.

Я пытался использовать setSelection, но это приводит к срабатыванию второго счетчика, вызывая нежелательные эффекты (поле редактирования заполняется вторым номером, даже если пользователь не щелкнул второй счетчик). Я хотел бы, чтобы 2-й счетчик просто показывал 25 в качестве отправной точки.

Как мне это сделать?


person eric    schedule 11.04.2010    source источник


Ответы (1)


setSelection() - это единственный известный мне способ, это не должно быть причиной проблемы. В моем случае у меня есть:

Spinner spinner = new Spinner(getApplicationContext());
spinner = (Spinner) findViewById(R.id.spinner);

//search for the position that we need to move to, 
//the spinner has an array adapter set to it
int recordInPreferences = WidgetProvider.settings.getInt("SpinnerChoice", 0);
int counter = -1;
do {
  counter++;
} while (
  counter < getResources().getIntArray(R.array.stringofvalues).length &&
  getResources().getIntArray(R.array.stringofvalues)[counter] != recordInPreferences
);

spinner.setSelection(counter, true);

Я делаю это последовательно для нескольких спиннеров один за другим, и это работает хорошо.

person ılǝ    schedule 10.01.2011