zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    新概念英语(1-115)Knock! Knock!
    新概念英语(1-113)Small Change
    新概念英语(1-111)The most expensive model
    新概念英语(1-109)A Good Idea
    新概念英语(1-107)It's Too Small.
    新概念英语(1-105)Full Of Mistakes
    新概念英语(1-103)The French Test
    洛谷P4591 [TJOI2018]碱基序列(hash dp)
    洛谷P4492 [HAOI2018]苹果树(组合数)
    洛谷P4577 [FJOI2018]领导集团问题(dp 线段树合并)
  • 原文地址:https://www.cnblogs.com/yaowen/p/4887627.html
Copyright © 2011-2022 走看看