다른 활동을하고 있습니까?
그렇다면 Intent (putExtra 섹션 참조)을 통해 첫 번째 스피너의 선택된 값을 전달하고 다음 활동에서 값을 검색하여 다음 스피너를 적절하게 설정할 수 있습니다.
편집 : 여기
은 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>
안녕 ccheneson, 더 그들은 모두 하나 같은 활동이다.하지 – Andy
그래서 "내 문제는 내가 유일하게 선생님들에게 변화를 줄 수 있지만 완전히 새로운 수업이다. 내 다른 스피너들이있는 곳으로 갈 수 없다"는 뜻인가? – ccheneson
sry buddy, 나는 어리 석다. 당신은 예를 들어 매력처럼 작동합니다. 고맙습니다. – Andy