Android Spinner控件学习笔记

android给我们提供了一个spinner控件,这个控件主要就是一个列表,那么我们就来说说这个控件吧,这个控件在以前的也看见过,但今天还是从新介绍一遍吧。Spinner位于 android.widget包下,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器。SpinnerView类得一个子类。

第一种静态设置spinner列表的内容----将列表显示的内容写在xml文件中参考 spinner  ApI 说明

  首先在layout.xml中声明spinner控件

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout  
  3.   xmlns:android="http://schemas.android.com/apk/res/android"  
  4.   android:layout_width="fill_parent"  
  5.   android:layout_height="fill_parent"  
  6.   android:orientation="vertical"  
  7.   >  
  8.   <TextView android:id="@+id/spinnerText"  
  9.             android:layout_width="fill_parent"   
  10.             android:layout_height="wrap_content"></TextView>  
  11.   <Spinner android:id="@+id/Spinner01"   
  12.            android:layout_width="fill_parent"  
  13.            android:layout_height="wrap_content"></Spinner>  
  14. </LinearLayout>  
   然后在string.xml文件中设置静态显示的列表内容

   <?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">TestSpinner</string>
    <string name="action_settings">Settings</string>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>    
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
</resources>

在activity中编写代码

  package com.example.testspinner;
/*
 * 静态设置spinner 在string.xml中设置spinner中的选项
 * 
 * */
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;


public class MainActivity extends Activity {
private Spinner spinner = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner=(Spinner)findViewById(R.id.spinner);
//使用createFromResource创建一个 ArrayAdapter对象
//第一个参数 时 adapter所在的对象
//第二个参数是 存放在string.xml中的 string数组
//第三个为layout布局文件,这里用的黑丝系统默认的layout文件,可以使用自己定义的布局文件
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource
(this, R.array.planets_array, android.R.layout.simple_spinner_item);
//设置spinner中的每一个item的样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);//设置适配器
spinner.setPrompt("TestSpinner");//设置spinner的名称

//添加侦听
spinner.setOnItemSelectedListener(new spinnerOnItemClick());
}


@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;
}

  class spinnerOnItemClick implements OnItemSelectedListener{
  @Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
String selectedString=parent.getSelectedItem().toString();//将选择的按钮转换为字符类型
System.out.println("selected item is ---->"+selectedString);
}


@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
System.out.println("nothing is selected");
}
}


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值