2017-03-25 5 views
0

내 요구 사항은 First Spinner 선택에 따라 Second Spinner를 채우는 것입니다. 내 질문은 : 노드 구조와 XML 파일을 가질 수 있습니까? 예를 들면 다음과 같습니다.Android Spinner : 첫 번째 선택 기준에 따라 두 번째 Spinner 채우기

<Europe> 
<State name="France"> 
    <city name="Paris"/> 
    <city name="Lyon"/> 
    <city name="Nice"/> 
</State> 
<State name="Spain"> 
    <city name="Madrid"/> 
    <city name="Barcelona"/> 
    <city name="Valencia"/> 
</State> 
<State name="Germany"> 
    <city name="Berlin"/> 
    <city name="Frankfurt"/> 
    <city name="Monaco"/> 
</State> 
</Europe> 

어떻게 수행할까요? 도와주세요. 감사

+0

힌트 : 그것의 가능한 예 ,,, 그냥이 XML 파일을 구문 분석하고 ArrayList의에 넣고로 설정 두 번째 스핀 어 –

+0

고마워 사미르 .. XML을 구문 분석 한 후 주 이름에 첫 번째 스피너가 있고 둘째로 선택된 도시에 연결된 관련 도시가 있습니까? 이 작업을 수행하는 방법? –

답변

0
당신은 onItemSelectedListener을 설정하고, 예를 들어, 선택된 값에 기초하여 제 2 회 전자의 어댑터 내용을 업데이트 할 수

:

Spinner spinner = (Spinner) findViewById(R.id.spinner); 
spinner.setOnItemSelectedListener(this); 
Spinner spinner2 = (Spinner) findViewById(R.id.spinner2); 

//setup initial adapters etc. 

public void onItemSelected(AdapterView<?> parent, View view, 
      int pos, long id) { 
     //based on the selected item update the second spinner: 
ArrayAdapter<CharSequence> adapter ArrayAdapter.createFromResource(this, 
     R.array.planets_array, android.R.layout.simple_spinner_item); 

// Apply the adapter to the spinner 
spinner2.setAdapter(adapter); 
    } 

당신은 또한 를 updateItems와 회 전자 2에 대한 사용자 정의 어댑터를 가질 수 있습니다 (목록 항목) 방법 같은 것을 보일 것이다 예를 들어, 항목 변경 관리 취할 방법 :

public void updateItems(List<String> items){ 
     currentItems.clear(); 
     currentItems.addAll(items); 
    notifyDatasetChanged(); 
}