在微调器中选择项目后更新内容

And*_*ndy 3 android

又是我.我尝试了最后几个小时,如何更改微调器的内容.好吧,让我们从头开始吧.

我有三个旋转器.它们都有初始值.第一个旋转器是主旋转器,另外两个旋转器取决于第一个旋转器中选择的阀门.所以我想在旋转器中进行选择之后更新最后两个微调器.*编辑:所有微调器都在同一个活动上.

我怎样才能实现这一目标?我的问题是我只能在微调onitemselectadapter中进行更改,但那是一个全新的类.我无法到达其他旋转器所在的活动.

谢谢

cch*_*son 9

你的纺纱厂有不同的活动吗?

如果是,那么您可以通过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) {


        }});
}
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)