background image

*/ new mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()

{ public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) 

{ // TODO Auto-generated method stub /* 将所选 mySpinner 的值带入 myTextView 中*/ 
myTextView.setText("您选择的是:"+ countriesStr [arg2]); /* 将 mySpinner 显示*/

    9
    Android 编程基础

    arg0.setVisibility(View. VISIBLE ); } public void 
onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub 

myTextView.setText("NONE"); } }); /*

 

下拉菜单弹出的内容选项 触屏事件处理

*/ new 

mySpinner.setOnTouchListener(new Spinner.OnTouchListener(){ public boolean 

onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub /* 将
mySpinner 运行 Animation */ v.startAnimation(myAnimation); /* 将 mySpinner 隐藏*/ 

v.setVisibility(View. INVISIBLE); return false false; } }); /*

 

下拉菜单弹出的内容选项 焦

点改变事件处理

*/ new mySpinner.setOnFocusChangeListener(new 

Spinner.OnFocusChangeListener(){ public void onFocusChange(View v, boolean 
hasFocus) { // TODO Auto-generated method stub } }); } }   

⑩ 结果

    10
    Android 

 

 

 

编程基础 动态添加 删除的

Spinner 

 

菜单 动态添加 删除的

    ArrayList   

Widget 的依赖性

      

① 创建新工程

      

 

修改

mian.xml 

 

布局,添加

UI 

 

元素

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

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

android:layout_width="190px" android:layout_height="wrap_content" 
android:text="TextView" android:textSize="25sp" 

android:layout_gravity="center_horizontal" > </TextView> <EditText 
android:id="@+id/EditView_Input" android:layout_width="fill_parent" 

android:layout_height="wrap_content" android:textSize="18sp" > </EditText> 

 

 

定义创建一个

List<T> /*定义*/ private String[] cities; private List cityList; /*初始

化字符串数组

*/ cities = new String[] { "Android", "BlackBerry", "J2ME", "Symbian", 

"Broncho", "LinuxMobile", "Palm", "WindwosMobile" }; /*初始化 List

 

实例

ArrayList 的对象

*/ cityList = new ArrayList(); /*遍历,把字符串数组添加到 ArrayList 中*/ int for (int i 
= 0; i < cities.length; i++) { cityList.add(cities[i]); }   

④ 定义创建一个 

ArrayAdapter /*定义*/ private ArrayAdapter arrayAdapter; /* 这里应该使用 List<> ,如果使

String[]

 

则会出错

*/ /*初始化下拉菜单的内容适配器*/ this arrayAdapter = new 

ArrayAdapter(this this, android.R.layout. simple_spinner_item , cityList);   

⑤ 设置 

ArrayAdapter

 

在下拉菜单中的显示布局

/*设置下拉菜单显示内容的风格*/ 

arrayAdapter.setDropDownViewResource(android.R.layout. simple_spinner_dropdown_ 
item);   

 

给下拉菜单添加内容

Adapter 

 

适配器

/*给下拉菜单对象添加内容适配器*/ 

city_Spinner.setAdapter(arrayAdapter);
    12

    Android 编程基础
      

 

修改该

mainActivity.java

 

,实现动态添加和删除

package zyf.Ex_Ctrl_9ME; /*使用的包导

*/ import java.util.ArrayList; import java.util.List; import 

android.app.Activity; import android.os.Bundle; import android.view.Menu; import 

android.view.MenuItem; import android.view.View; import 
android.widget.AdapterView; import android.widget.ArrayAdapter; import 

android.widget.Button; import android.widget.EditText; import 
android.widget.Spinner; import android.widget.TextView; import 

android.widget.Toast; public class Ex_Ctrl_9ME extends Activity implements 
Button.OnClickListener, Spinner.OnItemSelectedListener { /** Called when the 

activity is first created. */ /*声明程序使用的对象*/ private TextView 
show_yourChoice_TextView; private EditText input_City_EditText; private Button 

Add_Button, Del_Button; private Spinner city_Spinner; private ArrayAdapter 
arrayAdapter; private String[] cities; private String addString; private List 

cityList; @Override public void onCreate(Bundle savedInstanceState) { super 
super.onCreate(savedInstanceState); /*设置主屏显示布局为 main.xml*/ 

setContentView(R.layout. main); /*findViewByID()获取 XML 中的 UI 元素*/ 
show_yourChoice_TextView = (TextView) findViewById(R.id.