初学习Android--Spinner,DatePicker,AutoCompleteTextView

本文详细介绍如何在Android应用中使用Spinner控件,包括初始化Spinner、设置样式及监听器的方法,并提供了完整的代码实例。

1.Spinner
在MainActivity.java中代码

//声明spinner对象
private Spinner spinner=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //通过id得到spinnner对象
       spinner=(Spinner) findViewById(R.id.spinnerId);
       //第一种方法,自动存放
       List<String> list=new ArrayList<String>();
       list.add("test1");
       list.add("add2");
       //第二种方法,用.xml获取
       //调用ArrayAdapter的构造函数来创建ArrayAdapter对象
       //第一个参数是指上下文对象
       //第二个参数制定了下拉惨淡当中每个条目的样式
       //第三个参数制定了TextView空间的ID
       //第四个参数为整个列表提供数据
       ArrayAdapter adapter=new ArrayAdapter(this, R.layout.item,R.id.textViewId, list);
       //通过createFromResource方法创建一个ArrayAdapter对象
       //第一个参数是指上下文对象
       //第二个参数引用了在string.xml文件当中定义的String数组
       //第三个参数是用来指定spinner的样式,是一个布局文件ID,该布局文件有Android系统提供,也可以替换为自己定义的布局文件
    //   ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item);
       //设置spinner当中的每个条目的样式,同样是引用一个Android系统提供的布局文件
    //   adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
       //
       spinner.setAdapter(adapter);
       spinner.setPrompt("测试");
       //为spinnner绑定监听器
       spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());
    }

    //创建监听器
    //这个监听器主要用来监听用户选择列表的动作
    class SpinnerOnSelectedListener  implements OnItemSelectedListener{
    //当用户选中一个条目时候调用此方法
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
String selected=parent.getItemAtPosition(position).toString();
Toast.makeText(MainActivity.this, selected, Toast.LENGTH_LONG).show();
System.out.println("选中的是 "+selected);
}


@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "未选中", Toast.LENGTH_LONG).show();
System.out.println("未选中");
}

    }

在string.xml中

<string-array name="planets_array">
        <item>圆子</item>
        <item>美丽</item>
        <item>盘子</item>
        <item>哈哈1</item>
        <item>哈哈2</item>
        <item>哈哈3</item>
         <item>哈哈4</item>
         </string-array>

在layout文件夹中创建item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView 
        android:id="@+id/textViewId"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

在activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   android:orientation="vertical"
    tools:context="com.example.myspinner.MainActivity" >


    <Spinner 
        android:id="@+id/spinnerId"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>


</LinearLayout>

效果
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值