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
  • 相关阅读:
    jekins构建自动化项目的步骤
    CRT 和mysql 中文乱码解决方式
    Jenkins的配置(rpm red hat方式)
    MapReduce job.setNumReduceTasks(0)思考
    浏览器angent分析工具
    npm中的 --save-dev
    computed与methods的异同
    JS函数种类详解
    Vue.js和Nodejs的关系
    AJAX复习笔记
  • 原文地址:https://www.cnblogs.com/zzw1994/p/4975468.html
Copyright © 2011-2022 走看看