下拉菜单Spinner用法 动态添加删除Spinner菜单项
来源:互联网 发布:adblock下载 for mac 编辑:程序博客网 时间:2024/04/25 14:33
复制过来不好看
原文地址
http://www.pocketdigi.com/20100810/20.html
Spinner是一种下接菜单,类似HTML中的select标签,点击后弹出一个对话框,显示几个供选择的选项,手机屏幕大小有限,如果都用RadioGroup单选按钮,会占用很大的空间。今天的例子最终效果如下图:
Spinner需要绑定一个适配器ArrayAdapter,将菜单项放在适配器中,添加删除菜单项只需要调用适配器的add,remove方法即可。
布局XML;
12345678910111213141516171819202122232425
<?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" ><EditText android:id="@+id/et"android:layout_width="fill_parent" android:layout_height="wrap_content"/><Button android:id="@+id/add"android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="添加"/><Button android:id="@+id/remove"android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="删除"/><Spinner android:id="@+id/sp"android:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout>
一个EditText,用于定义需要添加或删除的菜单项,一个添加,一个删除按钮,还有一个就是Spinner
在strings.xml中定义一个初始的数组,就是刚开始时Spinner显示的项目,当然,也可以直接在JAVA代码中定义
12345
<string-array name="action"> <item>吃饭</item> <item>睡觉</item> <item>上网</item> </string-array>
JAVA程序代码:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
package com.pocketdigi.spanner; import java.util.ArrayList; import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.Spinner; public class main extends Activity { /** Called when the activity is first created. */EditText et;Button add,remove;Spinner sp;ArrayList<String> list=new ArrayList<String>();ArrayAdapter<String> adapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); et=(EditText)findViewById(R.id.et); add=(Button)findViewById(R.id.add); remove=(Button)findViewById(R.id.remove); sp=(Spinner)findViewById(R.id.sp); //获取相应对象 String[] ls=getResources().getStringArray(R.array.action); //获取XML中定义的数组 for(int i=0;i<ls.length;i++){ list.add(ls[i]); } //把数组导入到ArrayList中 adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //设置下拉菜单的风格 sp.setAdapter(adapter); //绑定适配器 sp.setPrompt("标题栏"); //设置对话框标题栏 add.setOnClickListener(new OnClickListener(){//添加按钮监听器 @Overridepublic void onClick(View v) {// TODO Auto-generated method stubadapter.add(et.getText().toString());//添加输入的项 ,add后自动调用notifyDataSetChanged()//如果需要指定位置,使用insert(String s, int index)方法setTitle(String.valueOf(list.size()));//在标题输出添加后list的大小} }); remove.setOnClickListener(new OnClickListener(){//删除按钮监听器 @Overridepublic void onClick(View v) {// TODO Auto-generated method stubadapter.remove(sp.getSelectedItem().toString());//删除当前选中项,remove后自动调用notifyDataSetChanged()setTitle(String.valueOf(list.size()));} }); }}
原文
http://www.pocketdigi.com/20100810/20.html
- 下拉菜单Spinner用法 动态添加删除Spinner菜单项
- 动态添加/删除spinner菜单
- 动态添加/删除Spinner菜单
- 动态添加删除Spinner菜单项
- Android中动态添加╱删除的Spinner菜单
- 安卓入门:动态添加╱删除的Spinner 菜单
- 下拉菜单-Spinner
- 下拉菜单Spinner
- 下拉菜单spinner
- android 下拉菜单 Spinner
- android中动态实现spinner下拉菜单
- Android 下拉菜单(Spinner) 用法
- android 下拉菜单Spinner的具体用法
- android--Spinner(菜单下拉控件)
- 下拉菜单Spinner的使用
- 下拉菜单(spinner)级联
- Android下拉菜单Spinner控件
- android下拉菜单 spinner 学习
- Using AJAX with JQuery Mobile
- j2ee的13个标准
- Ext中RowExpander数据刷新
- 关于12306网络购票的架构方面思考
- 在UltraEdit中为SQR配置代码着色
- 下拉菜单Spinner用法 动态添加删除Spinner菜单项
- dcmtk静态链接
- 在Mac下安装Wordpress
- SSH框架构造之一---------------hibernate 3.0
- Hibernate继承映射方式一
- matlab 判断点与多边形区域之间的位置关系(内,外)
- 成长,是一个时辰一个时辰熬出来的
- java file path abstract path absolute path canonical path
- CSS 参考手册