zoukankan      html  css  js  c++  java
  • Android Spinner学习

    在Android开发中,很多时候需要用到Spinner(类似Html中的下拉框)来展示数据,,比如,用户注册界面,用Spinner来展示省份是个不错的选择。 

    1、在布局文件中声明 Spinner

     <Spinner 
            android:id="@+id/spinner1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:prompt="@string/dropitems"
            />

    2、在values下面创建 dropitems.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="dropitems">请选择</string>
        <string-array name="drop_items_array">
            <item >湖南</item>
             <item >湖北</item>
              <item >福建</item>
               <item >江西</item>
        </string-array>
    </resources>

    3、java代码

    package com.zhoucj.spinnerdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    
    public class MainActivity extends Activity {
    
        Spinner spinner;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            spinner=(Spinner)findViewById(R.id.spinner1);
            ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource
                    (this, R.array.drop_items_array, android.R.layout.simple_spinner_item);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
            
        }
    
        
        
        
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }

    运行效果

    如果我们要获取用户选择的值,Spinner添加 OnItemSelectedListener监听,看下面的代码。

    package com.zhoucj.spinnerdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        Spinner spinner;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            spinner=(Spinner)findViewById(R.id.spinner1);
            ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource
                    (this, R.array.drop_items_array, android.R.layout.simple_spinner_item);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
            spinner.setOnItemSelectedListener(new spinnerItemselectedListener());
            
        }
    
        class spinnerItemselectedListener implements OnItemSelectedListener
        {
            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                Toast.makeText(MainActivity.this, arg0.getItemAtPosition(arg2).toString(), Toast.LENGTH_LONG).show();
                
            }
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub
                
            }
            
        }
        
        
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }

    运行效果如下

    好了,Spinner就介绍到这里了。

    祝大家 工作顺利   更上一层楼

  • 相关阅读:
    ASP.NET MVC3 系列教程 部署你的WEB应用到IIS 6.0
    ASP.NET MVC3 系列教程 控制器 & 视图
    Windows 8 如何安装到Virtual Box虚拟机上(x86)
    工具脚本(网络编码)
    c库的rand/random随机数产生函数性能差?
    shell脚本模版
    linux的IO调度算法和回写机制
    thrift安装脚本
    通用高效的c++内存池(特定类型)
    [转] NoSQL生态系统
  • 原文地址:https://www.cnblogs.com/zhoujian315/p/3156224.html
Copyright © 2011-2022 走看看