您的位置:首页 > 移动开发 > Android开发

Android Spinner控件学习笔记

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

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

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

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

>

<TextView android:id="@+id/spinnerText"

android:layout_width="fill_parent"

android:layout_height="wrap_content"></TextView>

<Spinner android:id="@+id/Spinner01"

android:layout_width="fill_parent"

android:layout_height="wrap_content"></Spinner>

</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");

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: