android进阶之spinner
来源:互联网 发布:心理学入门 知乎 编辑:程序博客网 时间:2024/05/01 06:36
今天学习了android组件中的spinner,通过spinner完成了下拉列表的实现,下面通过使用ArrayAdapter适配器,实现。
其实思想都一样,分为4步。
第一步,创建数据源。
第二步,新建适配器。
第三步,加载适配器。
下面先看一下效果,便于讲解;
第一步,新建数据源。把数据放在一个类型为String的list中。
第二步,新建适配器。
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
第一个参数表示上下文,不多做解释,第二个是android默认布局,当然如果不想用默认布局的话,可以采取其他方式(如simpleAdapter,baseAdapter),第三个参数是数据源。
第三步,给适配器设置一个下拉列表。
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
第四步,加载适配器。
spinner.setAdapter(adapter);
然后为了更好的显示效果,这里添加点击效果。设置监听事件。
spinner.setOnItemSelectedListener(this); !!注意:这里使用的是OnItemSelectedListener,因此需要在头部继承OnItemSelectedListener类
下面分步展示完整代码:
首先是xml文件:
<LinearLayout 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:orientation="vertical" > <TextView android:id="@+id/textview" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="25sp" android:textColor="#ff0000" /> <Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>MainActivity.java
package com.example.android_spinner;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.Spinner;import android.widget.TextView;public class MainActivity extends Activity implements OnItemSelectedListener{ private TextView tv1; private List<String>list; private Spinner spinner; private ArrayAdapter<String>adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); tv1=(TextView) findViewById(R.id.textview); spinner=(Spinner) findViewById(R.id.spinner); tv1.setText("您选择的城市是北京"); //設置數據源 list=new ArrayList<String>(); list.add("北京"); list.add("上海"); list.add("獷州"); list.add("深圳"); //新建ArrayAdapter(數組適配器) adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list); //adapter設置一個下拉列式表 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //加載適配器 spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(this);}@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {// TODO Auto-generated method stubString cityname=adapter.getItem(position);//Stirng city = list.get(position);tv1.setText("您选择的城市是"+cityname);}@Overridepublic void onNothingSelected(AdapterView<?> parent) {// TODO Auto-generated method stub}}
0 0
- android进阶之spinner
- Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
- Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
- Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
- Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
- Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
- Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
- Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
- Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
- Android 之 Spinner
- Android 控件之Spinner
- Android开发之Spinner
- Android之Spinner用法
- 21、Android之Spinner
- android之Spinner
- Android 控件之Spinner
- android控件之spinner
- Android界面之Spinner
- iOS开发系列之Objective-C基础:NSString字符串类型(一)
- 【LeetCode】(172)Factorial Trailing Zeroes(Easy)
- 递归
- 剑指offer 不用加减乘除做加法
- 欢迎使用CSDN-markdown编辑器
- android进阶之spinner
- 多线程在python中的使用 thread
- PAT 1010 月饼
- 《花千骨》为何被批“脑残”还能创造收视神话?
- 我不知道该怎么去做
- redis cluster 集群重启关闭
- Android:对话框(12种:警告对话框&进度条对话框&日期对话框&时间对话框)
- jor(1):简表(JOR)开源的报表工具调研
- 模拟 nbut1225 NEW RDSP MODE I