Android Spinner 控件

  • Android Spinner 控件

    Android Spinner 允许您从下拉菜单中选择一个项目
  • 示例

    本示例演示计算机的类别,您需要从类别中选择一个类别。要尝试使用此示例,您需要在按照以下步骤开发应用程序后,在实际设备上运行此示例。
    1. 您将使用Android Studio创建一个Android应用程序,并将其命名为Demo,位于com.jc2182.demo包下,如Hello World示例一章中所述。
    2. 修改src/MainActivity.java文件创建一个简单的列TableView,其中包含显示为微调器项目的项目。
    3. 修改res/layout/activity_main.xml文件的默认内容以包括创建一个简单的列表视图。
    4. 运行该应用程序以启动Android模拟器并验证在该应用程序中所做更改的结果。
    以下是修改后的主要活动文件src/com.jc2182.demo/MainActivity.java的内容。该文件可以包括每个基本生命周期方法。
    
    package com.jc2182.demo;
    
    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.Toast;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class MainActivity extends Activity implements AdapterView.OnItemSelectedListener {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // Spinner 元素
            Spinner spinner = (Spinner) findViewById(R.id.spinner);
    
            // Spinner click listener
            spinner.setOnItemSelectedListener(this);
    
            // Spinner 下拉元素
            List<String> categories = new ArrayList<String>();
            categories.add("南宁");
            categories.add("北京");
            categories.add("上海");
            categories.add("深圳");
            categories.add("广州");
            categories.add("杭州");
    
            // Creating adapter for spinner
            ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
    
            // Drop down layout style - list view with radio button
            dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
            // attaching data adapter to spinner
            spinner.setAdapter(dataAdapter);
        }
    
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            // On selecting a spinner item
            String item = parent.getItemAtPosition(position).toString();
    
            // Showing selected spinner item
            Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();
        }
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub
        }
    }
    
    以下是res/layout/activity_main.xml文件的内容-
    
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:padding="10dip"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
    
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:text="城市:"
            android:layout_marginBottom="5dp"/>
    
        <Spinner
            android:id="@+id/spinner"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:prompt="@string/spinner_title"/>
    
    </LinearLayout>
    
    以下是res/values/strings.xml文件的内容-
    
    <resources>
        <string name="app_name">Demo</string> 
        <string name="spinner_title">城市</string>
    </resources>
    
    让我们尝试运行刚刚修改的应用程序。我假设您在进行环境设置时已创建了AVD。要从Android Studio运行该应用,请打开您项目的活动文件之一,然后工具栏中单击“运行”图标。Android studio将应用程序安装在您的AVD上并启动它,如果设置和应用程序一切正常,它将显示在“模拟器”窗口下面-
    点击下菜单,并点击选择一个项目时候如下所示。