2010-02-14 11 views
3

에서 항목을 선택한 후 컨텐츠를 업데이트하십시오. 지난 번에 스피너의 내용을 변경하는 방법을 시도했습니다. 좋아, 처음부터 시작할 수 있습니다.회 전자

세 개의 스피너가 있습니다. 그것들은 모두 초기 값을가집니다. 첫 번째 회 전자는 주 회 전자이며 다른 두 회 전자는 첫 번째 회 전자에서 선택한 것으로 사용합니다. 그래서 스피너 1에서 선택을 한 후 마지막 두 스피너를 업데이트하고 싶습니다. * 편집 : 모든 스피너는 동일한 활동을 수행합니다.

어떻게하면됩니까? 내 문제는 내가 유일한 회 전자 onitemselectadapter에서 변경할 수 있지만 그것은 완전히 새로운 클래스입니다. 내 다른 회 전자가있는 활동에 도달 할 수 없습니다.

thx

답변

8

다른 활동을하고 있습니까?

그렇다면 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> 
+0

안녕 ccheneson, 더 그들은 모두 하나 같은 활동이다.하지 – Andy

+0

그래서 "내 문제는 내가 유일하게 선생님들에게 변화를 줄 수 있지만 완전히 새로운 수업이다. 내 다른 스피너들이있는 곳으로 갈 수 없다"는 뜻인가? – ccheneson

+0

sry buddy, 나는 어리 석다. 당신은 예를 들어 매력처럼 작동합니다. 고맙습니다. – Andy