2010-02-14 54 views
3

它的我再次。我試了最後幾個小時,如何改變微調的內容。好吧,讓我們從頭開始。更新內容後,選擇項目在微調

我有三個紡紗廠。他們都有初始值。第一個紡紗機是主紡紗機,另外兩個紡紗機依賴於第一個紡紗機的選擇。所以我想更新最後兩個旋轉器後,在微調一個選擇。 *編輯:所有spinners都在同一個活動。

我該如何做到這一點?我的問題是,我只能在紡紗商onitemselect適應器上做出改變,但那是一個全新的類。我無法到達其他紡紗工的活動。

thx

回答

8

你的紡紗廠在不同的活動?

如果是這樣,那麼您可以通過Intent(請參閱putExtra部分)傳遞第一個微調器的選定值,並從下一個活動中檢索該值,以便相應地設置下一個微調器。

編輯:

下面是在第二和第三旋轉器改變所選擇的項目的例子。用你的邏輯更新的監聽器(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 2010-02-14 23:45:52

+0

所以你的意思是什麼?「我的問題是我只能在紡織工人中做出改變,但是這是一個全新的班級,我無法到達其他紡紗工的地方。」? – ccheneson 2010-02-15 09:25:15

+0

斯里哥們,我很愚蠢。你的例子就像一個魅力。謝謝。 – Andy 2010-02-15 19:33:34