使用的Spinner,自然在Android中也可以实现,而且很简单,下面的代码将教你一步一步的使用Spinner,由于代码在代码中已经有很多注释,故我这边就不多写了,看官看代码就知其意了。
动作一
创建Spinnertest项目工程,这是我完成之后的目录:
动作二
在布局文件中,添加一个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
- android:id="@+id/myTextView"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello" />
- <Spinner
- android:id="@+id/mySpinner"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" />
- </LinearLayout>
动作三
修改主要的代码,理解见注解:
- package org.ourunix.android.spinnertest;
- 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;
- import android.widget.AdapterView.OnItemSelectedListener;
- public class SpinnerTestActivity extends Activity {
- // 定义一个TextView用来显示选择信息
- private TextView mTextView;
- // 定义一个Spinner用来显示下拉列表
- private Spinner mSpinner;
- // 适配器,到时候和Spinner连接起来
- private ArrayAdapter<String> adapter;
- // 定义字符串数组
- private static final String[] arr = { "中国人", "美国人", "印度人" };
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // 分别获得资源中的myTextView和mySpinner;
- mTextView = (TextView) findViewById(R.id.myTextView);
- mSpinner = (Spinner) findViewById(R.id.mySpinner);
- // 将可选内容和adapter连接起来
- adapter = new ArrayAdapter<String>(this,
- android.R.layout.simple_spinner_dropdown_item, arr);
- // 设置adapter的下拉风格
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- // 将adapter添加到Spinner中去
- mSpinner.setAdapter(adapter);
- // 添加Spinner事件监听
- mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
- public void onItemSelected(AdapterView<?> arg0, View arg1,
- int arg2, long arg3) {
- // TODO Auto-generated method stub
- mTextView.setText("你是" + arr[arg2]);
- arg0.setVisibility(View.VISIBLE);
- }
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- });
- }
- }
动作四
运行Spinnertest,效果如下:
开始,点击右侧显示如下下拉菜单
源码:Spinnertest