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>

android 30 下拉列表框:ArrayAdapter和Spinner.的更多相关文章

  1. Android开发之自己定义Spinner样式的效果实现(源码实现)

    android系统自带的Spinner样式是远远满足不了我们实际开发过程中对Spinner UI风格的要求,因此我们肯定须要为了切合整个应用的风格,改动我们的Spinner样式.系统给我们提供了两种常 ...

  2. android下拉选择框spinner

    spinner是什么东西呢?有点像下拉菜单,其实是一个弹出窗口,但是是可以进行进一步操作的弹出窗口.你点击那个三角形的符号,弹出一个窗口,通常是列表,然后进行操作. 它在xml文件中的定义和其它控件没 ...

  3. Android 之 下拉框(Spinner)的使用

    下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为数 ...

  4. 【转】Android 之 下拉框(Spinner)的使用

    原文网址:http://imshare.iteye.com/blog/770950 下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列 ...

  5. Android 之 下拉框(Spinner)的使用-转

    下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为数 ...

  6. Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段(转)

    摘自:http://blog.csdn.net/shakespeare001/article/details/7926783 Adapter是连接后端数据和前端显示的适配器接口,是数据Data和UI( ...

  7. Android --ListView使用ArrayAdapter

    1.继承ArrayAdapter public class TimerDataAdapter extends ArrayAdapter<TimerDataListItem> { //数据I ...

  8. Android 中万能的 BaseAdapter(Spinner,ListView,GridView) 的使用!

    大家好!今天给大家讲解一下BaseAdapter(基础适配器)的用法,适配器的作用主要是用来给诸如(Spinner,ListView,GridView)来填充数据的.而(Spinner,ListVie ...

  9. Android -- ListView与ArrayAdapter、SimpleAdapter

    对于ArrayAdapter,里面虽然能添加图片,但只能是相同的图片. 废话不多说: 布局&&list的item布局                                   ...

随机推荐

  1. python读取excel文件

    一.xlrd的说明 xlrd是专门用来在python中读取excel文档的模块,使用前需要安装. 可以到这https://pypi.python.org/pypi/xlrd进行下载tar.gz文件,然 ...

  2. Java客户端协议处理框架简介

    无论FTP客户程序,还是HTTP客户程序,或是其他基于特定应用层协议的客户程序,在与远程服务器通信时,都需要建立与远程服务器的连接,然后发送和接收与协议相符的数据.客户程序还需要对服务器发送的数据进行 ...

  3. 金山网络2014春季Android实习生招聘-成都站-笔试第一题

    实现单例模式,并实现方法int getResult(float a),将a*8后返回. package jinshanwangluo.exam; /** * @author guoxm * @date ...

  4. 一个消除if语句的例子

    // 一个按钮点击事件,判断点击按钮是那一个显示出他的信息 - (IBAction)buttonPressed:(id)sender { if (sender == self.leftButton) ...

  5. 让chrome浏览器快的不要不要的

    Chrome 已经成了很多人的主力浏览器,你可能被它的简洁快速所吸引,但它日益丰富的「扩展」,你可能从来都没有接触过,而事实上,很多扩展可以挖掘出 Chrome 的潜能,让它变得前所未有的强大.有哪些 ...

  6. iOS-NSTimer-pause-暂停-引用循环

    7月26日更新: 今天更新的主要目的是因为暂停!!!! 注:不推荐使用,并不是这样有错,而是因为这样写代码的规范问题,代码要有可读性,遵循代码即文档,使用暂停在团队合作中可能会带来误会,非必要不建议使 ...

  7. 14.6.7 Configuring the Number of Background InnoDB IO Threads 配置InnoDB IO Threads的数量

    14.6.7 Configuring the Number of Background InnoDB IO Threads 配置InnoDB IO Threads的数量 InnoDB 使用后台线程来服 ...

  8. Maven学习(1) - Maven入门

    home index:http://maven.apache.org/ download:http://maven.apache.org/download.cgi install: http://ma ...

  9. 【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2

    原文网址:http://bbs.51cto.com/thread-1099956-1.html 亲爱的学员们: 如今,各路开发者为淘一桶金也纷纷转入iOS开发的行列.你心动了吗?想要行动吗?知道如何做 ...

  10. 【C++】冒泡排序、插入排序、快速排序

    #include<iostream> using namespace std; void BubbleSort(int *a,int istart,int len)//冒泡排序 { //a ...