2010-02-14 57 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