2010-02-14 2 views
3

его снова. Я пробовал последние часы, как изменить содержимое счетчика. ОК, давайте начнем с начала.Обновить содержимое после выбора элемента в spinner

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

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

thx

ответ

8

Являются ли ваши прядильщики различными видами деятельности?

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

Edit:

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

активности:

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> 
+0

привет ccheneson, не все они одна той же деятельности. – Andy

+0

Итак, что вы подразумеваете под «Моя проблема в том, что я могу только вносить изменения в spinners onitemselectadapter, но это совершенно новый класс. Я не могу достичь активности, в которой работают мои другие вратари». – ccheneson

+0

sry buddy, я был глуп. Вы, например, работаете как шарм. Спасибо. – Andy

Смежные вопросы