zoukankan      html  css  js  c++  java
  • Spinner的基本使用

    ***Spinner的使用

    *定义:Spinner表现为一种列表,主要作用是让用户进行选择

    *使用方式:
    方式一:xml文件中定义加载的数据资源,通过ArrayAdapter.creatFromResource()方法加载资源
    方式二:Java代码中使用Adapter对象,把List中的数据资源加载到Spinner中

    *使用步骤:
    1.准备需要加载展示的数据源
    2.将数据源中的数据加载到适配器中
    3.将适配器中的数据加载到控件中

    values文件夹的Strings.xml文件中添加数据源:

    <resources>
    	<string name="app_name">SpinnerDemo</string>
    	<string name="action_settings">Settings</string>
    	<string name="hello_world">Hello world!</string>
    	<!--相当于定义了一个字符串数组,数组名是fruit_array  -->
    	<string-array name = "fruits_array"> 
    		<item >苹果</item>
    		<item >香蕉</item>
    		<item >橘子</item>
    		<item >菠萝</item>
    		<item >哈密瓜</item>
    		<item >火龙果</item>
    	</string-array>
    </resources>
    

    Java代码中:

    public class MainActivity extends Activity {
    	private Spinner spinner;
    	private ArrayAdapter<String> adapter;
    	private String[] fruits;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		
    		spinner = (Spinner) findViewById(R.id.sp);
    		fruits = getResources().getStringArray(R.array.fruits_array);
    		/* ArrayAdapter构造参数说明:
    		 * context:上下文对象
    		 * resource:表示列表item的布局资源id
    		 * objects:表示加载的数据源
    		 */
    		adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, fruits);
    		spinner.setAdapter(adapter);
    		//设置当spinner控件中的item被选中时触发的监听事件
    		spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    			/*表示当spinner控件中的item被选中时的回调方法
    			 * AdapterView<?> parent:表示当前触发事件的适配器控件对象spinner
    			 * View view:表示当前被选中的item的对象
    			 * int position:表示被选中的item的下标
    			 * long id:表示当前被选中的item的id
    			 */
    			@Override
    			public void onItemSelected(AdapterView<?> parent, View view,
    					int position, long id) {
    				String s1 = fruits[position];//在数据源中获取
    				String s2 = adapter.getItem(position);//根据下标在适配器中获取
    				String s3 = spinner.getItemAtPosition(position).toString();//根据下标在spinner中获取
    				Toast.makeText(MainActivity.this, "s1="+s1+"s2="+s2+"s3="+s3, Toast.LENGTH_SHORT).show();		
    			}
    			//当没有任何选中时回调的方法
    			@Override
    			public void onNothingSelected(AdapterView<?> parent) {
    				// TODO Auto-generated method stub
    				
    			}
    			
    		});
    	}
    }
    

  • 相关阅读:
    25个完美的Opencart模板,让顾客无法抗拒!
    来自极客标签10款最新设计素材-系列十
    Creating Contextual Menus创建上下文菜单
    java解惑之常常忘记的事
    java 泛型实例详解(普通泛型、 通配符、 泛型接口)
    Java 泛型、通配符? 解惑
    Java中public,private,protected,和默认的区别
    windows 环境下dos 命令符下进D盘(非c盘系统盘)根目录
    I/O流之--转换流:InputStreamReader 和InputStreamWriter
    java 代码执行cmd 返回值异常 (关于JAVA Project.waitfor()返回值是1)
  • 原文地址:https://www.cnblogs.com/SanguineBoy/p/9773861.html
Copyright © 2011-2022 走看看