Spinners--Android基本下拉框
来源:互联网 发布:jsp是javascript吗 编辑:程序博客网 时间:2024/06/16 23:43
Spinners–Android基本下拉框api文档:http://developer.android.com/reference/android/widget/Spinner.html
在布局文件中添加spinners元素:
<Spinner android:id="@+id/planets_spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" />
最简单的例子:
Spinner spinner = (Spinner) findViewById(R.id.spinner);// 创建一个ArrayAdapter,使用string array和 默认的spinner布局String[] strings = getResources().getStringArray(R.array.planets_array);ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, strings);// 当列表被选择出现时指定展示的布局adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// 设置适配器spinner.setAdapter(adapter);
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="planets_array"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item>5</item> <item>6</item> <item>7</item> <item>8</item> </string-array></resources>
监听事件:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { //当item被选择时parent.getItemAtPosition(position) Toast.makeText(MainActivity.this, parent.getItemAtPosition(position).toString(),Toast.LENGTH_LONG).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { }});
自定义adapter
下拉框单个条目的布局item_spinner.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/name" android:layout_width="100dp" android:layout_height="50dp" android:background="@null" android:padding="15dp" android:marqueeRepeatLimit="marquee_forever" android:ellipsize="marquee" android:singleLine="true" /></LinearLayout>
MainActivity的布局包含下拉框,背景是自己的一张照片:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:background="#FFFFFF" android:layout_height="match_parent" > <Spinner android:id="@+id/spinner" android:layout_width="100dp" android:layout_height="50dp" android:background="@drawable/btn_identyfy_code" android:popupBackground="@null" android:layout_alignParentTop="true" android:gravity="center" /></RelativeLayout>
创建了一个ItemBean.java:
package com.yunmo.spinner;public class ItemBean { private String ItemName; private int ItemId; public ItemBean(String itemName, int itemId) { super(); ItemName = itemName; ItemId = itemId; } public String getItemName() { return ItemName; } public void setItemName(String itemName) { ItemName = itemName; } public int getItemId() { return ItemId; } public void setItemId(int itemId) { ItemId = itemId; }}
适配器:
package com.yunmo.spinner;import java.util.List;import java.util.zip.Inflater;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;public class mySpinnerAdapter extends BaseAdapter{ private Context context; private List<ItemBean> list; public mySpinnerAdapter(Context context , List<ItemBean> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public ItemBean getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView =LayoutInflater.from(context).inflate(R.layout.item_spinner, null); } TextView name = (TextView) convertView.findViewById(R.id.name); name.setText(getItem(position).getItemName()); return convertView; }}
MainActivity里的代码:
package com.yunmo.spinner;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.widget.AdapterView;import android.widget.Toast;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.Spinner;public class MainActivity extends Activity { private Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner = (Spinner) findViewById(R.id.spinner); List<ItemBean> list = new ArrayList<ItemBean>(); list.add(new ItemBean("宝马aaaaaaaaaaa",10000)); list.add(new ItemBean("a马bbbbbbbbb",10001)); list.add(new ItemBean("b马ccccccccc",10002)); list.add(new ItemBean("c马dddddddd",10003)); mySpinnerAdapter adapter = new mySpinnerAdapter(this, list); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { ItemBean itemBean = (ItemBean)parent.getItemAtPosition(position); Toast.makeText(MainActivity.this, itemBean.getItemId()+"", Toast.LENGTH_LONG).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); }}
0 0
- Spinners--Android基本下拉框
- Spinners(下拉列表)
- Spinners(下拉列表)
- Android API Guides---Spinners
- spinners
- Spinners
- Spinners
- 常用控件 07 下拉菜单 Spinners
- Android-UI学习之Spinners的用法
- Javascript 下拉框基本操作
- Android ListView下拉刷新,最基本代码
- Android-PullToRefresh下拉刷新库基本用法
- Android-基本控件(Spanner 下拉列表)
- Android-PullToRefresh下拉刷新库基本用法
- Android-PullToRefresh下拉刷新库基本用法
- android 下拉框spinner
- Android下拉列表框
- Android下拉列表框
- CCD、CMOS和像素
- 高并发网络编程之epoll详解
- Storm之trident聚合操作介绍
- Pattern
- Ajax使用技巧
- Spinners--Android基本下拉框
- Membership Role Profile数据库配置
- Oracle数据库远程连接设置的四种方法及其注意事项
- xfire+spring+hibernate 配置文件
- 黑马程序员————OC中内存管理有关
- mysql中int型的数字怎么转换成字符串
- HBase source code. HStore
- Shell grep的几个参数
- 生成一个包含数字和字母的自定义位数的验证码