首页 > 其他分享 >Android之Spinner用法,key/value模式

Android之Spinner用法,key/value模式

时间:2023-08-08 15:13:00浏览次数:29  
标签:spinner String text value Spinner key SpinnerData public

参考:http://www.dedeyun.com/it/m/98498.html
https://blog.csdn.net/myxiaoq/article/details/25869693
1.key、value类,需要重写toString()方法,返回text就是Spinner要显示的key

package com.jay.common;
public class SpinnerData {

    private String value = "";
    private String text = "";

    public SpinnerData() {
        value = "";
        text = "";
    }

    public SpinnerData(String _value, String _text) {
        value = _value;
        text = _text;
    }

    @Override
    public String toString() {
        return text;
    }

    public String getValue() {
        return value;
    }

    public String getText() {
        return text;
    }
}

2.设置适配器,默认选中项:spinner.setSelection(1);要放到最后一行。

Spinner spinner = (Spinner) findViewById(R.id.cbo1);
        List<SpinnerData> lst = new ArrayList<SpinnerData>();
        for (int i = 0; i < 3; i++) {
            SpinnerData c = new SpinnerData("value"+i, "text" + i);
            lst.add(c);
        }
        ArrayAdapter<SpinnerData> Adapter = new ArrayAdapter<SpinnerData>(this,android.R.layout.simple_spinner_item, lst);
        Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(Adapter);

3.获取当前选中项:((SpinnerData)spinner.getSelectedItem()).getValue();
4.设置选中事件

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                TextView view1 = (TextView) view;
                String k = view1.getText().toString();
                String v = lst.get(position).getValue();
                Toast.makeText(MainActivity.this, "text:" + k + ",\nvalue:" + v, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

 5.可替换自定义列表、选中样式
item_select.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:background="@android:color/holo_blue_dark"
    android:textSize="14sp"
    android:textColor="@android:color/holo_red_light"
    android:gravity="center"
    />

item_dropdown.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:textColor="@android:color/black"
    android:textSize="14sp"
    android:gravity="center"/>

 

标签:spinner,String,text,value,Spinner,key,SpinnerData,public
From: https://www.cnblogs.com/xsj1989/p/17614372.html

相关文章

  • @RequestMapping(value = "/testxml", produces = {"application/xml; charset=UTF-8"
    这行代码是使用SpringFramework的注解来配置一个用于处理HTTP请求的方法。具体来说,这是一个用于处理GET请求的方法,路径为"/testxml"。让我为你解释其中的含义:@RequestMapping:这是SpringFramework提供的注解,用于将一个方法映射到特定的请求路径。在这个例子中,它将......
  • DataFrame 计数value_counts 后转成df
    importpandasaspd#创建示例DataFramedata={'Category':['A','B','A','C','A','B','C','A','B']}df=pd.DataFrame(data)#使用value_counts()方法对&......
  • 遇到问题---hadoop--Remote App Log Directory does not have same value for the 4 N
    情况因为我们的某台服务器空间不足,暂时清理不出来,所以需要修改一些存放数据的日志目录等。修改完毕之后发现报错错误的配置RemoteAppLogDirectorydoesnothavesamevalueforthe4NodeManagers。原因一般来说不同的主机不要求配置的目录一致,但是yarn.nodemanager.remote......
  • JAVA ASE 默认随机 sha1 key加密
    使用原始的方法publicstaticStringEncryptEncode(Stringcontent,String...key)throwsException{StringencryptKey="audaque2018";KeyGeneratorkeyGenerator=KeyGenerator.getInstance("AES");SecureRandomrandom=......
  • java @Value重配置文件中获取不同的值
    在Java中,使用`@Value`注解可以从配置文件中获取不同的值。`@Value`注解可以用于类的字段或方法的参数上。首先,确保在Spring应用程序中正确配置了配置文件。通常,配置文件的名称为`application.properties`或`application.yaml`,并位于类路径下。接下来,您可以在需要获取配置值的类或方......
  • Azure Terraform(十四)Azure Key Vault 的机密管理
    一,引言最近有网友私信我,将Terraform部署到 Azure是一种将基础结构作为代码进行管理的好方法,但是如何使用AzureKeyVault来存储我们的Secret?在这篇博文中,我将给大家展示一下展示如何使用 Terraform引用 AzureKeyVaultSecret。1)这个时候就有人问了,Secret信息......
  • autoHotKey
    autoHotKey快捷指令(自用)自用的写代码快捷键指令,存档设置当前脚本自启动的方式<!i::SendInput{Up};发送上方向键的信号return<!m::SendInput{Down};发送下方向键的信号return<!j::SendInput{Left};发送左方向键的信号return<!l::SendInput{Right};发送......
  • 异常: java.security.InvalidKeyException: Illegal key size
    问题描述importorg.apache.commons.codec.digest.DigestUtils;importorg.bouncycastle.jce.provider.BouncyCastleProvider;importjavax.crypto.Cipher;importjavax.crypto.spec.SecretKeySpec;importjava.security.Security;importjava.util.Base64;publicclass......
  • A small keychain has so many details
    Keychainsarefamiliartoallofusandcanbeusedbasicallyinourdailylife.Atfirst,weusedkeychainssimplytocollectkeyssothattheywouldnotbelosteasily.Gradually,therearemoreandmoretypesandpatternsofkeychains,andtheyhavegr......
  • 获取Bucket网址和key
        ......