Android 在微调器中选择项目后更新内容
又是我。我在最后几个小时尝试了如何更改微调器的内容。 好的,让我们从头开始 我有三个纺纱机。它们都有初始值。第一个纺纱器是主纺纱器,其他两个纺纱器取决于第一个纺纱器中选择的阀门。因此,在微调器1中进行选择后,我想更新最后两个微调器*编辑:所有微调器都位于同一活动上 我怎样才能做到这一点?我的问题是,我只能在spinners和SelectAdapter中进行更改,但这是一个全新的类。我无法达到其他微调器所在的活动Android 在微调器中选择项目后更新内容,android,Android,又是我。我在最后几个小时尝试了如何更改微调器的内容。 好的,让我们从头开始 我有三个纺纱机。它们都有初始值。第一个纺纱器是主纺纱器,其他两个纺纱器取决于第一个纺纱器中选择的阀门。因此,在微调器1中进行选择后,我想更新最后两个微调器*编辑:所有微调器都位于同一活动上 我怎样才能做到这一点?我的问题是,我只能在spinners和SelectAdapter中进行更改,但这是一个全新的类。我无法达到其他微调器所在的活动 thx您的纺纱工从事不同的活动吗 如果是,则只需通过(请参阅putExtra部分)传
thx您的纺纱工从事不同的活动吗 如果是,则只需通过(请参阅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) {
}});
}
专用微调器s;
私人纺纱机s2;
私人纺纱机s3;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String[]myList=新字符串[]{“Hello”、“World”、“Foo”、“Bar”};
字符串[]myList2=新字符串[]{“Hello2”、“World2”、“Foo2”、“Bar2”};
字符串[]myList3=新字符串[]{“Hello3”、“World3”、“Foo3”、“Bar3”};
s=(喷丝器)findViewById(R.id.spinner1);
s2=(喷丝器)findViewById(R.id.喷丝器2);
s3=(喷丝器)findViewById(R.id.spinner3);
s、 setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_spinner_项,myList));
s2.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_spinner_项,myList2));
s3.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_spinner_项,myList3));
s、 setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图v、,
内部位置,长id){
s2.选举(pos);
s3.选举(pos);
}
@凌驾
未选择公共无效(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>
hi ccheneson,不,它们都是同一个活动。那么“我的问题是,我只能在Spinner和MSelectAdapter中进行更改,但这是一个全新的类。我无法达到其他Spinner所在的活动。”?sry buddy,我太愚蠢了。你的榜样很有魅力。非常感谢。