android 30 下拉列表框:ArrayAdapter和Spinner.

简介:
复制代码
package com.sxt.day05_04;

import android.os.Bundle;
import android.app.Activity;
import android.content.res.Resources;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;

public class MainActivity extends Activity implements OnItemSelectedListener{
    Spinner mspinYear,mspinMonth;
    ArrayAdapter<CharSequence> mAdapterYear,mAdapterMonth;
    String[] mYears,mMonths,mDays;
    int mYear=2000;//初始年份
    int mMonth=1;//初始月份
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initData();
        initView();
    }

    private void initView() {
        mspinYear=(Spinner) findViewById(R.id.spinYear);
        //给mspinYear创建一个适配器,R.array.years是要加入进去的字符串数组资源,android.R.layout.simple_list_item_1是显示的列表项
        mAdapterYear=ArrayAdapter.createFromResource(this, R.array.years, android.R.layout.simple_list_item_1);
        //设置适配器
        mspinYear.setAdapter(mAdapterYear);
        mspinYear.setOnItemSelectedListener(this);
        
        
    }

    private void initData() {
        Resources res = getResources();//获取资源中定义的数组
        mYears=res.getStringArray(R.array.years);
        mMonths=res.getStringArray(R.array.months);
        mDays=res.getStringArray(R.array.days);
    }

    @Override
    //parent是Spinner,view是点击的某一项,
    public void onItemSelected(AdapterView<?> parent, View view, int position,
            long id) {
        switch (parent.getId()) {
        case R.id.spinYear:
            mYear=Integer.parseInt(mYears[position]);
            if(mMonth==2&&(mYear%400==0 || mYear%4==0 && mYear%100!=0)){
                Toast.makeText(MainActivity.this, mDays[0]+"天", 2000).show();
            }else{
                Toast.makeText(MainActivity.this, mDays[mMonth], 2000).show();
            }
            break;
        case R.id.spinMonth:
            
            break;
        }
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
        // TODO Auto-generated method stub
        
    }

}
复制代码
复制代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/tvYear"
        android:layout_marginTop="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选择年份" />
    <Spinner 
        android:id="@+id/spinYear"
        android:layout_toRightOf="@id/tvYear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:prompt="@string/prompt_year"
        android:spinnerMode="dialog"/>             下拉之后以dialog对话框显示  
    <TextView
        android:id="@+id/tvMonth"
        android:layout_marginTop="10dp"
        android:layout_below="@id/spinYear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选择月份" />
    <Spinner 
        android:id="@+id/spinMonth"
        android:layout_toRightOf="@id/tvMonth"
        android:layout_below="@id/spinYear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:prompt="@string/prompt_year"
        android:spinnerMode="dialog"/>             下拉之后以dialog对话框显示  
        
</RelativeLayout>
复制代码
复制代码
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Day05_04-ArrayAdapterAndSpinnerDemo</string>
    <string name="action_settings">Settings</string>
    <string name="prompt_year">选择年份</string>
    <string name="prompt_month">选择月份</string>
    <string-array name="years">
        <item>2000</item>
        <item>2001</item>
        <item>2002</item>
        <item>2003</item>
        <item>2004</item>
        <item>2005</item>
        <item>2006</item>
        <item>2007</item>
        
    </string-array>
    <string-array name="months">
        <item>1</item>
        <item >2</item>
        <item >3</item>
        <item >4</item>
        <item >5</item>
        <item >6</item>
        <item >7</item>
        <item >8</item>
        <item >9</item>
        <item >10</item>
        <item >11</item>
        <item >12</item>
        
    </string-array>
    <string-array name="days">
        <item >29</item>
        <item >31</item>
        <item >28</item>
        <item >31</item>
        <item >30</item>
        <item >31</item>
        <item >30</item>
        <item >31</item>
        <item >31</item>
        <item >30</item>
        <item >31</item>
        <item >30</item>
        <item >31</item>
        
    </string-array>
</resources>
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4887627.html,如需转载请自行联系原作者

相关文章
|
8月前
|
Android开发
Android 中使用spinner实现下拉列表的两种方法和getItemAtPosition()方法的使用
Android 中使用spinner实现下拉列表的两种方法和getItemAtPosition()方法的使用
63 0
|
4月前
|
XML Java Android开发
Android Studio App开发中高级控件下拉列表Spinner的讲解及实战(附源码 超详细必看)
Android Studio App开发中高级控件下拉列表Spinner的讲解及实战(附源码 超详细必看)
72 0
|
Android开发
Android中的高级控件Spinner
Android中的高级控件Spinner
103 0
|
Java Android开发 开发者
Android Spinner与自定义TextView填坑记
Android Spinner与自定义TextView填坑记
123 0
Android Spinner与自定义TextView填坑记
|
XML Android开发 数据格式
【安卓开发】ArrayAdapter requires the resource ID to be a TextView
【安卓开发】ArrayAdapter requires the resource ID to be a TextView
77 0
【安卓开发】ArrayAdapter requires the resource ID to be a TextView
|
Android开发
Android官方下拉选择控件Spinner
Android官方下拉选择控件Spinner
351 0
Android官方下拉选择控件Spinner
|
Android开发
Android Studio 下拉框Spinner实例
本文目录 1. 功能 2. 显示 3. 动态设置选项 4. 获取选中项 5. 监听下拉框选中项
889 0
Android Studio 下拉框Spinner实例
|
XML Android开发 数据格式
Android 好用的下拉控件Spinner
一、参考 1、android Spinner控件详解 2、最新Spinner用法详解 二、实例 1、普通的spinner用法及在string-array中的数据加载,此UI是在MD风格下,在不同Theme下其实是有不同UI展示,也可选择下拉模式是:dropdown或者dialog,默认是dropdown的 1-2.
1067 0
|
XML Android开发 数据格式
Android开发之自定义Spinner
自定义Spinner,需要定制的有默认背景、按下背景,显示时每一项的样式以及弹出时每一项的样式四个方面。下面举个简单例子。 1、准备两张图片,处理为.9png,分别为spinner.
1309 0
|
Android开发
Android Spinner的ArrayAdapter和SpinnerAdapter注意事项
Android Spinner的ArrayAdapter和SpinnerAdapter注意事项 如图所示: 代码: package com.
1263 0