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");
}
}
}
第一种静态设置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");
}
}
}
相关文章推荐
- 【android控件学习笔记】使用Spinner实现下拉列表
- Android Spinner控件学习笔记 二
- Android开发学习笔记:为动态添加的Spinner控件绑定数据源以及监听事件
- Android 学习笔记(12)—— Spinner下拉控件
- android菜鸟学习笔记14----Android控件(三) ListView的简单使用
- android 开发零起步学习笔记(十):UI控件动态加载机制浅析
- Android学习--Spinner控件学习
- 【学习笔记】Android 动态添加控件 getlayoutparams 为空的问题
- Android(java)学习笔记96:如何改变spinner系统自带的字体和颜色
- Android开发笔记:基本控件之Spinner用法
- [Android新手学习笔记11]-UI控件之TextView
- android 开发零起步学习笔记(九):android 控制控件的位置和大小及Layout相关属性
- 学习 Mars 老师 Android 开发视频教程笔记之01_06 Android 常用控件
- 【Android】学习笔记(1)——基本控件一
- Android阶段学习笔记7.15-7.17之 基础控件
- android---textview控件学习笔记之显示表情图片和文本(二)
- Android开发学习笔记:Spinner和AutoCompleteTextView浅析
- Android 学习笔记7:基本控件
- 1.Android之TextView控件学习笔记
- [Android新手学习笔记24]-常用的UI控件的单位、属性