android 字典 键值_Android中Spinner控件之键值对用法实例分析

本文介绍Android中Spinner控件的键值对使用方法,包括定义字典表存放键值对、绑定数据到Spinner控件及获取所选项的键值等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文实例讲述了Android中Spinner控件之键值对用法。分享给大家供大家参考。具体如下:

一、字典表,用来存放键值对信息

package com.ljq.activity;

import java.io.Serializable;

@SuppressWarnings("serial")

public class Dict implements Serializable {

private Integer id;

private String text;

public Dict() {

}

public Dict(Integer id, String text) {

super();

this.id = id;

this.text = text;

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getText() {

return text;

}

public void setText(String text) {

this.text = text;

}

/**

* 为什么要重写toString()呢?

*

* 因为适配器在显示数据的时候,如果传入适配器的对象不是字符串的情况下,直接就使用对象.toString()

*/

@Override

public String toString() {

return text;

}

}

二、activity类,绑定数据、获取选中的键值对

package com.ljq.activity;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.Spinner;

import android.widget.Toast;

import android.widget.AdapterView.OnItemSelectedListener;

public class MainActivity extends Activity {

private Spinner mySpinner;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mySpinner = (Spinner) findViewById(R.id.mySpinner);

List dicts = new ArrayList();

dicts.add(new Dict(1, "测试1"));

dicts.add(new Dict(2, "测试2"));

dicts.add(new Dict(3, "测试3"));

dicts.add(new Dict(4, "测试4"));

ArrayAdapter adapter = new ArrayAdapter(this,

android.R.layout.simple_spinner_item, dicts);

mySpinner.setAdapter(adapter);

mySpinner.setOnItemSelectedListener(new OnItemSelectedListener(){

public void onItemSelected(AdapterView> parent, View view,

int position, long id) {

// 获取键的方法:mySpinner.getSelectedItem().toString()或((Dict)mySpinner.getSelectedItem()).getId()

// 获取值的方法:((Dict)mySpinner.getSelectedItem()).getText();

Toast.makeText(MainActivity.this,

"键:" + mySpinner.getSelectedItem().toString() + "、" + ((Dict) mySpinner.getSelectedItem()).getId() +

",值:" + ((Dict) mySpinner.getSelectedItem()).getText(),

Toast.LENGTH_LONG).show();

}

public void onNothingSelected(AdapterView> parent) {

}

});

}

}

三、修改main.xml布局文件

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_height="wrap_content"

android:id="@+id/mySpinner"/>

四、运行结果如下:

希望本文所述对大家的Android程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值