zoukankan      html  css  js  c++  java
  • fragment 中利用spinner实现省市联动

    (1)布局文件就不在说明了,主要说代码的实现,先把代码贴上!

    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<CharSequence> adapter =  ArrayAdapter.createFromResource(this, R.array.city, android.R.layout.simple_spinner_item); 
           adapter.setDropDownViewResource(android.R.layout.simple_spinner_item); 

    再喷一下在fragment中实现省市联动的主要代码

     ArrayAdapter<CharSequence> xianorquAdapter = ArrayAdapter.createFromRes (getActivity(), R.array.zhengzhou, android.R.layout.simple_spinner_item);

    区别在createFromRes的第一个參数上,主要是由于子类不同,切记。

    联动时仅仅要用setOnItemSelectedListener(listener);进行监听,能够通过两种方法实现联动,第一个是获取条目的位置,第二个是获取条目的内容,我採用的是第二个。

    这样就能够实现省市联动了!


  • 相关阅读:
    在Spring中使用cache(EhCache的对象缓存和页面缓存)
    halcon 模板匹配 -- 转化 vector_angle_to_rigid
    halcon 模板匹配 -- find_shape_model
    halcon 模板匹配 -- create_shape_model
    C#快速获取指定网页源码的几种方式,并通过字符串截取函数 或 正则 取指定内容(IP)
    C# Socket通讯 本机多网卡,指定网卡通讯
    C# 获取所有网卡信息
    C#关闭退出线程的几种方法
    C#多线程方法 可传参
    C# Datetime 使用详解
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4044383.html
Copyright © 2011-2022 走看看