本文主要是介绍动态添加删除Spinner菜单项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Spinner是一种下接菜单,类似HTML中的select标签,点击后弹出一个对话框,显示几个供选择的选项,手机屏幕大小有限,如果都用RadioGroup单选按钮,会占用很大的空间。今天的例子最终效果如下图:
Spinner需要绑定一个适配器ArrayAdapter,将菜单项放在适配器中,添加删除菜单项只需要调用适配器的add,remove方法即可。
布局XML:
01 | <? xml version = "1.0" encoding = "utf-8" ?> |
02 | < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" |
03 | android:orientation = "vertical" |
04 | android:layout_width = "fill_parent" |
05 | android:layout_height = "fill_parent" |
07 | < EditText android:id = "@+id/et" |
08 | android:layout_width = "fill_parent" |
09 | android:layout_height = "wrap_content" |
11 | < Button android:id = "@+id/add" |
12 | android:layout_width = "fill_parent" |
13 | android:layout_height = "wrap_content" |
16 | < Button android:id = "@+id/remove" |
17 | android:layout_width = "fill_parent" |
18 | android:layout_height = "wrap_content" |
21 | < Spinner android:id = "@+id/sp" |
22 | android:layout_width = "fill_parent" |
23 | android:layout_height = "wrap_content" |
一个EditText,用于定义需要添加或删除的菜单项,一个添加,一个删除按钮,还有一个就是Spinner
在strings.xml中定义一个初始的数组,就是刚开始时Spinner显示的项目,当然,也可以直接在JAVA代码中定义
1 | < string-array name = "action" > |
JAVA程序代码:
01 | package com.pocketdigi.spanner; |
03 | import java.util.ArrayList; |
05 | import android.app.Activity; |
06 | import android.os.Bundle; |
07 | import android.view.View; |
08 | import android.view.View.OnClickListener; |
09 | import android.widget.ArrayAdapter; |
10 | import android.widget.Button; |
11 | import android.widget.EditText; |
12 | import android.widget.Spinner; |
14 | public class main extends Activity { |
15 | /** Called when the activity is first created. */ |
19 | ArrayList<String> list= new ArrayList<String>(); |
20 | ArrayAdapter<String> adapter; |
22 | public void onCreate(Bundle savedInstanceState) { |
23 | super .onCreate(savedInstanceState); |
24 | setContentView(R.layout.main); |
25 | et=(EditText)findViewById(R.id.et); |
26 | add=(Button)findViewById(R.id.add); |
27 | remove=(Button)findViewById(R.id.remove); |
28 | sp=(Spinner)findViewById(R.id.sp); |
30 | String[] ls=getResources().getStringArray(R.array.action); |
32 | for ( int i= 0 ;i<ls.length;i++){ |
36 | adapter= new ArrayAdapter<String>( this ,android.R.layout.simple_spinner_item,list); |
37 | adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
39 | sp.setAdapter(adapter); |
43 | add.setOnClickListener( new OnClickListener(){ |
46 | public void onClick(View v) { |
48 | adapter.add(et.getText().toString()); |
51 | setTitle(String.valueOf(list.size())); |
56 | remove.setOnClickListener( new OnClickListener(){ |
59 | public void onClick(View v) { |
61 | adapter.remove(sp.getSelectedItem().toString()); |
63 | setTitle(String.valueOf(list.size())); |
源代码打包下载:
Spinner范例 (498)
文章出处:http://www.pocketdigi.com/20100810/20.html
这篇关于动态添加删除Spinner菜单项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!