Обновить содержимое после выбора элемента в блесне - PullRequest
3 голосов
/ 14 февраля 2010

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

У меня есть три счетчика. Все они имеют начальные значения. Первый счетчик является основным, а два других зависят от долины, выбранной в первом. Итак, я хочу обновить последние два счетчика после выбора первого. * редактировать: все счетчики находятся на одной деятельности.

Как мне этого добиться? Моя проблема в том, что я могу вносить изменения только в спиннер onitemselectadapter, но это совершенно новый класс. Я не могу достичь активности, где другие мои спиннеры.

ТНХ

1 Ответ

8 голосов
/ 14 февраля 2010

Ваши прядильщики в разных видах деятельности?

Если они есть, то вы можете просто передать выбранное значение первого счетчика через Intent (см. Раздел putExtra) и извлечь значение из следующего действия, чтобы вы могли установить соответственноследующие счетчики.

Редактировать:

Вот пример, который изменяет выбранный элемент во 2-м и 3-м вращателе.Обновите слушатель (метод onItemSelected) с помощью вашей логики

Activity:

private Spinner s;
private Spinner s2;
private Spinner s3;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
    String[] myList = new String[] { "Hello", "World", "Foo", "Bar" };
    String[] myList2 = new String[] { "Hello2", "World2", "Foo2", "Bar2" };
    String[] myList3 = new String[] { "Hello3", "World3", "Foo3", "Bar3" };

    s = (Spinner) findViewById(R.id.spinner1);
    s2 = (Spinner) findViewById(R.id.spinner2);
    s3 = (Spinner) findViewById(R.id.spinner3);

    s.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, myList));
    s2.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, myList2));
    s3.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, myList3));


    s.setOnItemSelectedListener(new OnItemSelectedListener(){

        @Override
        public void onItemSelected(AdapterView<?> parent, View v,
                int pos, long id) {
            s2.setSelection(pos);
            s3.setSelection(pos);
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {


        }});
}

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_height="wrap_content"
        android:orientation="vertical">
<Spinner android:id="@+id/spinner1" android:layout_height="wrap_content" android:layout_width="fill_parent" />
<Spinner android:id="@+id/spinner2" android:layout_height="wrap_content" android:layout_width="fill_parent" />
<Spinner android:id="@+id/spinner3" android:layout_height="wrap_content" android:layout_width="fill_parent" />
</LinearLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...