Android Spinner 下拉菜单控件学习
来源:互联网 发布:css书籍推荐 知乎 编辑:程序博客网 时间:2024/05/30 23:39
Spinner →下拉菜单控件
常用在:
城市的选择,地区的选择和信息的查询等应用。
java.lang.Object
android.view.View
android.view.ViewGroup
android.widget.AdapterView<T extends android.widget.Adapter>
android.widget.AbsSpinner
android.widget.Spinner
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!--用户选择之后显示到textView上--> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="wrap_content" /> <!--显示用户可选择的列表--> <Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content"/></LinearLayout>
res/values/arrays.xml→spinner要显示的数组内容
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="System"> <item>Windows</item> <item>Linux</item> <item>Unix</item> <item>Google Cloud</item> <item>Other</item> </string-array></resources>
java代码:
package com.ncsyeyy.YeyySpinner;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Spinner;import android.widget.TextView;public class MyActivity extends Activity { private TextView tv; private Spinner spinner;//定义字符序列数组用来存储Spinner的数据源 private ArrayAdapter<CharSequence> adapter; /** * 问题: * spinner默认第一项被选中,如果设置默认不是第一个怎么办? * 在OnItemSelectedListener中选中的回调方法中加入一个判断,在类中设置一个标志变量, * 开始为false,第一次过后,在OnItemSelectedListener的回调方法中修改标志变量为true? * spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { switch (position) { case 0: if(isFirstIn){//isFirstIn是变量标志吗? isFirstIn = false; }else{ Toast.makeText(PostDetail.this, "分享", Toast.LENGTH_SHORT).show(); } break; .懂了没,很简单的标记就可以了 * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findView(); setSpinner(); } private void setSpinner() {// 将可选内容与arrayAdapter连接起来 adapter = ArrayAdapter.createFromResource(this, R.array.System, android.R.layout.simple_spinner_item);// 设置下拉列表风格// public static ArrayAdapter<CharSequence> createFromResource(Context context, int textArrayResId, int textViewResId)// context 应用的上下文// textArrayResId 数据源数组标识// textViewResId 用于显示的布局view// this代表当前的Activity对象// R.array.planets_array 标识了我们要用到的字符串数组.// R.layout.simple_spinner_item 标识了系统定义的一个标准的Spinner的布局外观。 adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);// 设置spinner的adapter spinner.setAdapter(adapter);// spinner.setSelected(0,true);// 添加时间spinner的选择事件监听 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {// switch (position){// case 0:// if (isFirstIn){// isFirstIn=false;// }else{ // 当用户选择了某项的时候,tv显示用户选项 tv.setText(adapter.getItem(position).toString());// }// } } @Override public void onNothingSelected(AdapterView<?> parent) {// 当用户没有选择任何项的时候,tv显示selected Nothing tv.setText("Selected Nothing");//似乎并没有什么用 } }); } private void findView() { tv = (TextView) findViewById(R.id.tv); spinner = (Spinner) findViewById(R.id.spinner); }}
源码地址:http://download.csdn.net/detail/csdnyuandaimaxuexi/9107131
0 0
- Android Spinner 下拉菜单控件学习
- android--Spinner(菜单下拉控件)
- Android下拉菜单Spinner控件
- android下拉菜单 spinner 学习
- Android学习笔记--下拉菜单(Spinner)
- android学习--Spinner下拉菜单的使用
- Android学习 - 下拉菜单spinner的使用方法
- android 下拉菜单 Spinner
- Android 下拉控件:Spinner
- Android使用控件Spinner实现下拉菜单列表
- 浅谈Android下拉菜单Spinner
- 其他控件触发spinner下拉菜单
- Android 下拉列表Spinner控件
- android 控件 下拉列表(Spinner)
- android----Spinner下拉列表控件
- android 标题栏下拉选择控件(下拉菜单宽度全屏显示spinner)
- Android学习笔记(一) 下拉列表Spinner控件
- 【android控件学习笔记】使用Spinner实现下拉列表
- Android存储基础及相关源码
- JDK源码阅读之Runnable接口
- java一些常用代码
- 输入猴子数
- 轻量级分布式服务化框架
- Android Spinner 下拉菜单控件学习
- C++中shared_ptr的使用
- abstract class和interface异同
- 【Linux】Linux软件安装方法小结(附:rpm详解)
- Tomcat startup.bat 能成功启动, Eclipse 里却不能启动Tomcat.
- iOS Frame和bounds的区别
- 干货 | Docker文件系统的分层与隔离
- StringUtil 简单用法
- Climbing Stairs