fragment 中利用spinner实现省市联动

摘要:
布局文件将不会被解释,但主要是关于代码实现。首先粘贴代码!˃父级){}};}接下来,喷涂代码ArrayAdapter<CharSequence>adapter=ArrayAdaper。createFromResource,在活动中实现省市联动;适配器。setDropDownViewResource;将省市联动的主要代码以片段形式喷洒:ArrayAdapter<CharSequence>xianorquAdapter=ArrayAdaper。创建FromRes;区别在于createFromRes的第一个参数。主要原因是子类不同。回想起

(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);进行监听,能够通过两种方法实现联动,第一个是获取条目的位置,第二个是获取条目的内容,我採用的是第二个。

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


免责声明:文章转载自《fragment 中利用spinner实现省市联动》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据结构之线性表的链式存储结构在visual studio中使用vim编辑程序下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

android fragment轻松监听返回键/Fragment中的popupwindow响应返回键隐藏

现在的开发我们基本上都是一个主activity中放多个fragment,点击返回按钮的时候,直接退出主activity,但是我们在fragment中经常会弹出例如popupWindow这样的布局,用户一般点击返回按钮的时候是想让弹窗消失,而不是退出应用。如果你直接退出应用这样的用户体验就非常的不好,所以我们就需要在fragment中监听按钮的点击事件,做出...

Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误

嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment. 使用时, 主要要依靠宿主Fragment的 getChildFragmentManager() 来获取FragmentManger. 虽然看起来和在activity中添加fragment差不多, 但因为f...

android开发权威指南读书笔记

第17章 Fragment 1、在res目录下增加 layout-sw600dp 目录,用于存放7英寸及以上尺寸屏幕的布局文件。10英寸以上平板用 sw720dp。如果是更小的屏幕,如 480*800 则要用 sw480dp 2、在布局文件中直接以<fragment> 标签方式嵌入时候,要标明class属性,即 类似     也可以用 andr...

Android之取消ViewPage+Fragment的预加载

Android之取消ViewPage+Fragment的预加载 用过ViewPage+Fragment组合的童鞋自然知道这个问题,没有遇到的同学祝愿你们永远不会遇到,呵呵。直接上关键代码 注释:setUserVisibleHint每次fragment显示与隐藏都会调用,他的调用顺序由于onCreate,所以需要一些常量进行判断 ? 1 2 3 4 5...

Android FragmentActivity onActivityResult冲突问题

场景:假设fragment的填充数据是ListView,ListView中的每一项都有button,点击每一项的button跳转到B界面。在B界面处理完业务需返回fragment中更新数据。 解决方式:1.在FragmentActivity中重写: @Overridepublic void onActivityResult(int requestCod...

DialogFragment异常Fragment already added的原因与解决办法

DialogFragment异常的表现形式快速多次点击按钮展示DialogFragment弹框,100%复现崩溃 java.lang.IllegalStateException: Fragment already added: XXDialogFragment DialogFragment异常的发生原因 查看DialogFragment的show方法源码,...