7、android 高级控件(1)(下拉列表)

本文详细介绍了Android中的Spinner组件,包括其下拉框模式的设置和选择监听器的使用。此外,还分别展示了如何使用ArrayAdapter创建简单的文本列表以及如何通过SimpleAdapter实现文本与图片并存的列表。示例代码中,ArrayAdapter用于展示行星名称的下拉列表,而SimpleAdapter则结合图标和文本展示了更丰富的信息。

下拉框的用法以及适配器的基本概念,结合对下拉框Spinner的使用说明分别阐述数组适配器ArrayAdapter、简单适配器SimpleAdapter的具体用法与展示效果。

 1、下拉框Spinner

1、Spinner用于从一串列表中选择某项,功能类似于单选按钮的组合。

2、XML文件中的spinnerMode属性有两种取值:

dropdown:下拉列表形式

dialog:对话框形式

3、在Java代码中可调用下列4个方法。

setPrompt:设置标题文字。

setAdapter:设置下拉列表的适配器。

setSelection:设置当前选中哪项。

setOnItemSelectedListener:设置下拉列表的选择监听器

 2、数组适配器

下拉框调用setAdapter方法设置列表适配器,最简单的适配器就是数组适配器。

运用数组适配器分成下列步骤:

(1)编写列表项的XML文件,内部布局只有一个TextView标签

(2)调用ArrayAdapter的构造方法,填入待展现的字符串数组,以及列表项的XML文件(R.layout.item_select)

new ArrayAdapter(context, resource, textViewResourceId, objects);

context:上下文,写this就好了。

resource: 子布局item

textViewResourceId:对布局中哪个textView进行内容适配的控件的id。

objects: 数据源datas
 

(3)调用下拉框控件的setAdapter方法,传入第二步得到的适配器实例

package com.example.chapter05;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class SpinnerDropdownActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_spinner_dropdown);
        initSpinnerForDropdown(); // 初始化下拉模式的列表框
    }

    // 初始化下拉模式的列表框
    private void initSpinnerForDropdown() {
        // 声明一个下拉列表的数组适配器
        ArrayAdapter<String> starAdapter = new ArrayAdapter<String>(this,
                R.layout.item_select, starArray);
        // 从布局
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小郭同学忒骚了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值