fragment에서 spinner를 이용하여 성, 시의 연동을 실현하다

3526 단어 Fragment
(1) 레이아웃 파일은 설명이 아니라 코드의 실현을 말하는데 먼저 코드를 붙여라!
4
package com.example.cl;



import android.annotation.SuppressLint;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
@SuppressLint({ "NewApi", "ValidFragment" })

public class Yezhuinformation extends Fragment{
	 private Spinner  city;
	 private Spinner  quorxian;
	   public View onCreateView(LayoutInflater inflater, ViewGroup container,
               Bundle savedInstanceState) {
		   
		   View v=inflater.inflate(R.layout.yezhuinformation, container, false);
		    city=(Spinner)v.findViewById(R.id.city); 
		    quorxian = (Spinner)v.findViewById(R.id.quorxian); 
	        
		   ArrayAdapter<CharSequence> adapter =  ArrayAdapter.createFromResource(getActivity(), 
				   R.array.city, android.R.layout.simple_spinner_item); 
	        adapter.setDropDownViewResource(android.R.layout.simple_spinner_item); 
	        city.setAdapter(adapter);   
			city.setOnItemSelectedListener(listener);       
		   return v;
	     }
	   	   
	   OnItemSelectedListener listener = new OnItemSelectedListener() {
		public void onItemSelected(AdapterView<?> parent, View view,
				int position, long id) {
			 Spinner spinner = (Spinner)parent; 
			   String pro = spinner.getSelectedItem().toString(); 
			    ArrayAdapter<CharSequence> xianorquAdapter = ArrayAdapter.createFromResource 
			                   (getActivity(), R.array.zhengzhou, android.R.layout.simple_spinner_item);
			    if(pro.equals("  "))
			    {
			    	xianorquAdapter = ArrayAdapter.createFromResource 
			                (getActivity(), R.array.wuhan, android.R.layout.simple_spinner_item); 
			    } 
			    else if(pro.equals("  "))
			    {
			    	xianorquAdapter = ArrayAdapter.createFromResource 
			                (getActivity(), R.array.nanyang, android.R.layout.simple_spinner_item);		
			    }
			    if(pro.equals("  "))
			    {
			    	xianorquAdapter = ArrayAdapter.createFromResource 
			                (getActivity(), R.array.zhengzhou, android.R.layout.simple_spinner_item); 
			    } 
			    else if(pro.equals("  "))
			    {
			    	xianorquAdapter = ArrayAdapter.createFromResource 
			                (getActivity(), R.array.hangzhou, android.R.layout.simple_spinner_item);		
			    }
			    quorxian.setAdapter(xianorquAdapter); 
			   } 
		public void onNothingSelected(AdapterView<?> parent) {	
		}
	};
}
	   

(2) 다음에activity에서 성·시 연동을 실현하는 코드를 뿌려라
 ArrayAdapter adapter =  ArrayAdapter.createFromResource(this, R.array.city, android.R.layout.simple_spinner_item); 
       adapter.setDropDownViewResource(android.R.layout.simple_spinner_item); 
fragment에서 성, 시의 연동을 실현하는 주요 코드를 다시 한 번 뿌려라
 ArrayAdapter xianorquAdapter = ArrayAdapter.createFromRes (getActivity(), R.array.zhengzhou, android.R.layout.simple_spinner_item);
createFromRes의 첫 번째 매개 변수는 주로 하위 클래스가 다르기 때문에 주의해야 한다.
연동 시 setOnItemSelectedListener(listener)만 사용해야 한다.감청을 하면 두 가지 방법을 통해 연동을 실현할 수 있다. 첫 번째는 항목을 얻는 위치이고, 두 번째는 항목의 내용을 얻는 것이다. 나는 두 번째를 사용한다.
이렇게 하면 성 (省) 과 시 (市) 의 연동을 실현할 수 있다.

좋은 웹페이지 즐겨찾기