zoukankan      html  css  js  c++  java
  • Android_Spinner_Listener

    xml布局文件:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
    
       <Spinner 
           android:id="@+id/spinner"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"/>
       <Button 
           android:id="@+id/btn_notity"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:layout_below="@id/spinner"
           android:layout_marginTop="10dp"
           android:text="更新列表"
           android:textSize="20sp"/>
    
    </RelativeLayout>

    spinner_item文件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >
        <ImageView 
            android:id="@+id/iamge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
        <TextView 
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    
    </LinearLayout>

    源代码:

    package com.example.day04_spinnerlistener;
    
    import java.util.ArrayList;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.util.Log;
    import android.view.Menu;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.Spinner;
    
    public class MainActivity extends Activity implements View.OnClickListener{
    
        private Spinner spinner;
        private String TAG = "MainActivity";
        private String[] cities;
        private ArrayAdapter<String> adapter;
        private Button button;
        private ArrayList<String> cityList;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            button = (Button) findViewById(R.id.btn_notity);
            button.setOnClickListener(this);
            spinner = (Spinner) findViewById(R.id.spinner);
            cities = new String[] {"北京","上海","广州","杭州","天津"};
            cityList = new ArrayList<String>();
            for (int i = 0; i < cities.length; i++) {
                cityList.add(cities[i]);
            }
            adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, cityList);
            spinner.setAdapter(adapter);
            spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    
                @Override
                public void onItemSelected(AdapterView<?> parent, View view,
                        int position, long id) {
                    // TODO Auto-generated method stub
                    //如何获取被点击的item对应的数据
                    //通过数据源数组获得该索引的数据
                    String name1 = cities[position];
                    //通过适配器获取索引条目的数据
                    String name2 = adapter.getItem(position);
                    //通过spinner(适配器控件)获取该索引位置条目的数据
                    String name3 = spinner.getItemAtPosition(position).toString();
                    Log.i(TAG ,position+"name1:"+name1+"name2,"+name2+",name3:"+name3 );
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                    // TODO Auto-generated method stub
                    
                }
            });
            
        }
        /**
         * 当点击更新按钮,触发监听事件,执行更新数据的操作
         */
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            ArrayList<String> newList = new ArrayList<String>();
            for (int i = 0; i < 10; i++) {
                newList.add("item "+i);
            }
            //清空数据
    //        cityList.removeAll(cityList);
            //添加新的数据到原数据中
            cityList.addAll(newList);
            //通知更新数据
            adapter.notifyDataSetChanged();    
        }
    
    }
  • 相关阅读:
    Git的使用---6. 分支管理
    Git的使用---5. 工作区、暂存区和仓库
    虚拟机中安装 win2012 r2 tools工具 提示需要安装kb2919355
    【实验】OSPF的基本配置
    【实验】 OSPF和BFD联动
    【实验】VRRP+链路跟踪+BFD联动
    【实验】基于接口和全局DHCP
    【实验】静态LACP的链路聚合
    【实验】手工负载分担链路聚合
    【实验】vxlan的静态配置
  • 原文地址:https://www.cnblogs.com/fangg/p/5715919.html
Copyright © 2011-2022 走看看