zoukankan      html  css  js  c++  java
  • 简单Spinner

    mainActivity

      1 package com.zzw.spinner;
      2 
      3 import android.app.Activity;
      4 import android.content.Context;
      5 import android.os.Bundle;
      6 import android.view.LayoutInflater;
      7 import android.view.View;
      8 import android.view.ViewGroup;
      9 import android.widget.AdapterView;
     10 import android.widget.AdapterView.OnItemSelectedListener;
     11 import android.widget.ArrayAdapter;
     12 import android.widget.Spinner;
     13 import android.widget.TextView;
     14 import android.widget.Toast;
     15 
     16 public class MainActivity extends Activity {
     17 
     18     private String[] start_citys, end_citys;
     19 
     20     @Override
     21     protected void onCreate(Bundle savedInstanceState) {
     22         super.onCreate(savedInstanceState);
     23         setContentView(R.layout.activity_main);
     24 
     25         start_citys = getResources().getStringArray(R.array.start_city);
     26         end_citys = getResources().getStringArray(R.array.end_city);
     27 
     28         Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
     29         spinner1.setAdapter(new MySpinnerAdapter(this, R.layout.item_start, R.id.TextView_start, start_citys));
     30         Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
     31         spinner2.setAdapter(new MySpinnerAdapter(this, R.layout.item_end, R.id.TextView_end, end_citys));
     32 
     33         spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
     34             @Override
     35             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
     36                 Toast.makeText(getApplicationContext(), start_citys[position], 0).show();
     37             }
     38 
     39             @Override
     40             public void onNothingSelected(AdapterView<?> parent) {
     41 
     42             }
     43         });
     44 
     45         spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {
     46 
     47             @Override
     48             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
     49                 Toast.makeText(getApplicationContext(), end_citys[position], 0).show();
     50             }
     51 
     52             @Override
     53             public void onNothingSelected(AdapterView<?> parent) {
     54 
     55             }
     56         });
     57 
     58     }
     59 
     60     private class MySpinnerAdapter extends ArrayAdapter {
     61         private Context context;
     62         private int item;
     63         private int R_textView;
     64         private String[] citys;
     65         LayoutInflater inflater;
     66 
     67         public MySpinnerAdapter(Context context, int resource, int textViewResourceId, String[] citys) {
     68             super(context, resource, textViewResourceId, citys);
     69             this.context = context;
     70             this.item = resource;
     71             this.R_textView = textViewResourceId;
     72             this.citys = citys;
     73             inflater = LayoutInflater.from(context);
     74         }
     75 
     76         @Override
     77         public int getCount() {
     78             return citys.length;
     79         }
     80 
     81         // 下拉框中显示的view
     82         @Override
     83         public View getView(int position, View convertView, ViewGroup parent) {
     84             if (convertView == null) {
     85                 convertView = inflater.inflate(item, null);
     86             }
     87             TextView textView = (TextView) convertView.findViewById(R_textView);
     88             textView.setText(citys[position]);
     89             return convertView;
     90         }
     91 
     92         // 显示的是下拉的列表view
     93         // 如果数据没有从new的时候传递下来,那么不写这个方法有Resources$NotFoundException异常
     94         @Override
     95         public View getDropDownView(int position, View convertView, ViewGroup parent) {
     96             if (convertView == null) {
     97                 convertView = inflater.inflate(item, null);
     98             }
     99             TextView textView = (TextView) convertView.findViewById(R_textView);
    100             textView.setText(citys[position]);
    101             return convertView;
    102         }
    103 
    104     }
    105 }

    xml:

     1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:orientation="horizontal"
     6     tools:context="com.zzw.spinner.MainActivity" >
     7 
     8        <Spinner
     9            android:id="@+id/spinner1"
    10            android:layout_weight="1"
    11            android:layout_width="wrap_content"
    12            android:layout_height="wrap_content"
    13            />
    14     <Spinner
    15            android:id="@+id/spinner2"
    16            android:layout_weight="1"
    17            android:layout_width="wrap_content"
    18            android:layout_height="wrap_content"
    19            />
    20 </LinearLayout>
    View Code
  • 相关阅读:
    html5+css3中的background: -moz-linear-gradient 用法 (转载)
    CentOS 安装Apache服务
    Linux 笔记
    CURL 笔记
    Spring Application Context文件没有提示功能解决方法
    LeetCode 389. Find the Difference
    LeetCode 104. Maximum Depth of Binary Tree
    LeetCode 520. Detect Capital
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 136. Single Number
  • 原文地址:https://www.cnblogs.com/zzw1994/p/4975468.html
Copyright © 2011-2022 走看看