iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android开发手册Chip监听及ChipGroup监听
  • 177
分享到

Android开发手册Chip监听及ChipGroup监听

2024-04-02 19:04:59 177人浏览 薄情痞子
摘要

目录?Chip监听?ChipGroup监听?实例效果展示?Chip监听 选中状态的监听:setOnCheckedChangeListener,该监听只有设置了checkable 属性

?Chip监听

选中状态的监听:setOnCheckedChangeListener,该监听只有设置了checkable 属性为true或者使用了【filter/entry/choice】这三个style主题的时候才生效。

点击事件的监听:setOnClickListener

关闭按钮被点击的监听:setOnCloseIconClickListener

Java

myChip.setOnCloseIconClickListener(View.OnClickListener { v: View? ->
    //进行业务处理
    Log.e("TAG", "onCreate: Chip文字后面图标点击事件")
})
myChip.setOnClickListener(View.OnClickListener { v: View? ->
    //进行业务处理
    Log.e("TAG", "onCreate: Chip整体普通点击事件")
})
myChip.setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener { buttonView: CompoundButton?, isChecked: Boolean ->
    //进行业务处理
    Log.e("TAG", "onCreate: Chip选中状态监听")
})

Kotlin

myChip.setOnCloseIconClickListener(v -> {
    //进行业务处理
    Log.e("TAG", "onCreate: Chip文字后面图标点击事件");
});
myChip.setOnClickListener(v -> {
    //进行业务处理
    Log.e("TAG", "onCreate: Chip整体普通点击事件");
});
myChip.setOnCheckedChangeListener((buttonView, isChecked) -> {
    //进行业务处理
    Log.e("TAG", "onCreate: Chip选中状态监听");
});

?ChipGroup监听

myChipGroup.setOnCheckedChangeListener(new ChipGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(ChipGroup group, int checkedId) {
        //看到这的小伙伴可能就疑问了,区分view的id做不同的业务,如果是布局中写好的还可以,但实际上子view应该是根据接口数据添加进去的,这些点击怎么区分呢?
        //我们下篇示例做个完整的。
        Log.e("TAG", "onCheckedChanged: 选中view的id");
    }
});

?实例

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="Http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <com.Google.android.material.chip.ChipGroup
        android:id="@+id/myChipGroupExample"
        android:layout_width="wrap_content"
        app:singleSelection="true"
        android:layout_height="wrap_content">
</LinearLayout>

Java

public class TestChipAndChipGroupActivity extends AppCompatActivity {
    private List<Chip> chipViewList = new ArrayList<>();
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_chip_chipgroup);
        ChipGroup myChipGroupExample = findViewById(R.id.myChipGroupExample);
        List<String> dataList = new ArrayList<>();
        dataList.add("芝麻粒儿");
        dataList.add("这是你的业务数据");
        dataList.add("根据业务数据");
        dataList.add("创建子View");
        dataList.add("公众号");
        dataList.add("空名先生");
        for (String temp : dataList) {
            myChipGroupExample.addView(createChipView(temp));
        }
        myChipGroupExample.setOnCheckedChangeListener(new ChipGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(ChipGroup group, int checkedId) {
                //看到这的小伙伴可能就疑问了,区分view的id做不同的业务,如果是布局中写好的还可以,但实际上子view应该是根据接口数据添加进去的,这些点击怎么区分呢?
                //我们下篇示例做个完整的。
                for (Chip tempChip : chipViewList) {
                    if (tempChip.getId() == checkedId) {
                        Log.e("TAG", "onCheckedChanged: 选中view的id内容:" + tempChip.getText());
                    }
                }
            }
        });
    }
    private View createChipView(String temp) {
        Chip chipView = new Chip(this);
        chipView.setId(View.generateViewId());
        chipView.setText(temp);
        chipView.setChipIcon(getDrawable(R.drawable.icon_xin));
        //设置是否可以选中
        chipView.setCheckable(true);
        chipView.setTextSize(18);
        chipViewList.add(chipView);
        return chipView;
    }
}

Kotlin代码

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_test)
    val myChipGroupExample = findViewById<ChipGroup>(R.id.myChipGroupExample)
    val dataList: MutableList<String> = java.util.ArrayList()
    dataList.add("芝麻粒儿")
    dataList.add("这是你的业务数据")
    dataList.add("根据业务数据")
    dataList.add("创建子View")
    dataList.add("公众号")
    dataList.add("空名先生")
    for (temp in dataList) {
        myChipGroupExample.addView(createChipView(temp!!))
    }
    myChipGroupExample.setOnCheckedChangeListener { group, checkedId -> //看到这的小伙伴可能就疑问了,区分view的id做不同的业务,如果是布局中写好的还可以,但实际上子view应该是根据接口数据添加进去的,这些点击怎么区分呢?
        //我们下篇示例做个完整的。
        for (tempChip in chipViewList) {
            if (tempChip.id == checkedId) {
                Log.e("TAG", "onCheckedChanged: 选中view的id内容:" + tempChip.text)
            }
        }
    }
}
private val chipViewList: MutableList<Chip> = ArrayList()
private fun createChipView(temp: String): View? {
    val chipView = Chip(this)
    chipView.id = View.generateViewId()
    chipView.text = temp
    chipView.chipIcon = getDrawable(R.drawable.icon_xin)
    //设置是否可以选中
    chipView.isCheckable = true
    chipView.textSize = 18f
    chipViewList.add(chipView)
    return chipView
}

效果展示

以上就是Android开发手册Chip监听及ChipGroup监听的详细内容,更多关于Android开发Chip及ChipGroup监听的资料请关注编程网其它相关文章!

--结束END--

本文标题: Android开发手册Chip监听及ChipGroup监听

本文链接: https://www.lsjlt.com/news/151120.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android开发手册Chip监听及ChipGroup监听
    目录Chip监听ChipGroup监听实例效果展示Chip监听 选中状态的监听:setOnCheckedChangeListener,该监听只有设置了checkable 属性为tru...
    99+
    2024-04-02
  • Android开发怎么实现Chip监听及ChipGroup监听
    这篇文章主要介绍“Android开发怎么实现Chip监听及ChipGroup监听”,在日常操作中,相信很多人在Android开发怎么实现Chip监听及ChipGroup监听问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-07-02
  • Android 键盘监听 键盘展开/收起监听
    如和优雅地实现键盘展开/收起监听 Android 键盘的展开与收起一直是个很遭人诟病的东西 方法各式各样都有,但是基本都不是很好用,有各种限制 这里编写了一个优雅地实现方式,利用屏幕实际高度与显示...
    99+
    2023-09-01
    android kotlin android studio
  • Android手册之Toolbar搜索联动及监听小技巧
    目录实践过程监听实现搜索改变Overflow修改Menu弹出位置实践过程 监听 //返回事件的监听,也就是app:navigationIcon属性设置的图片的监听 idToolBar...
    99+
    2024-04-02
  • android获取及监听手机网络状态
    目录一、获取当前手机联网方式是WiFi还是手机4G数据二、监听手机网络变化总结一、获取当前手机联网方式是WiFi还是手机4G数据 private boolean getNetwork...
    99+
    2024-04-02
  • Android开发 文本输入 EditText 监听器
    1.EditText 文本编辑框:用户输入文本信息 可以输入的文本类型如下:  常用属性:  系统默认的EditText: 效果图: 当然也可以自定义EditText的背景,比如用selector设...
    99+
    2023-09-03
    android android studio
  • Android开发EditText禁止输入监听及InputFilter字符过滤
    目录监听事件InputFilter监听事件 setOnEditorActionListener:软键盘回车监听事件  testEditText.setOnEditorAct...
    99+
    2024-04-02
  • flutter开发实战-RawKeyboardListener监听键盘事件及keycode。
    flutter开发实战-RawKeyboardListener监听键盘事件及keycode。 最近开发过程中遇到外设备的按钮点击触发相应的操作,需要监听对应的keycode来开启游戏或者相关操作。 这...
    99+
    2023-09-06
    flutter 计算机外设 javascript 键盘事件 键盘
  • 手把手教你Android全局触摸事件监听
    Android系统全局触摸事件监听 Android触摸全局监听指的是调用监听后在任何界面都能获取到触摸事件。 要实现这个功能必须要修改源码添加新的接口,因为系统默认是不暴露这个方法的...
    99+
    2024-04-02
  • Android开发EditText禁止输入监听及InputFilter字符过滤的方法
    这篇“Android开发EditText禁止输入监听及InputFilter字符过滤的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起...
    99+
    2023-07-02
  • Android应用中怎么监听手机GPS的打开状态
    Android应用中怎么监听手机GPS的打开状态?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Android 监听手机GPS打开状态实现代码GPS_Presenterpac...
    99+
    2023-05-31
    android roi gps
  • 如何在Android开发中使用DatePicker与TimePicke监听时间
    如何在Android开发中使用DatePicker与TimePicke监听时间?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。DatePicker和TimePic...
    99+
    2023-05-31
    android datepicker timepicke
  • Android 动态注册监听网络变化实例详解
    Android 动态注册监听网络变化实例详解新建一个BroadcastTest项目,然后修改MainActivity中的代码,如下:public class MainActivity extends AppCompatActivity { ...
    99+
    2023-05-30
    android 动态注册 监听网络
  • TRC20地址监听php,USDT-TRC20 PHP开发包
    开发包概述 开发包适用于为PHP应用快速增加对Tron/USDT-TRC20数字资产的支持能力, 即支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的 轻量级部署场景。 ...
    99+
    2023-09-21
    php 区块链 开发语言
  • android获取及监听手机网络状态的方法是什么
    这篇“android获取及监听手机网络状态的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“android获取及监听...
    99+
    2023-06-26
  • Android开发中怎么样实现屏幕切换监听功能
    本篇文章为大家展示了Android开发中怎么样实现屏幕切换监听功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。由于屏幕切换会调用activity的各个生命周期,需要在manifest的activi...
    99+
    2023-05-31
    android roi
  • ORACLE之手动注册监听listener。alter system set local_listener="XXX"
    记录下刚刚做的一个为一个数据库(t02)配置多个监听(listener)的实验,过程有点小曲折。   (1)新增两个测试的监听,listener.ora的配置内容(可纯手动编辑该文件或使...
    99+
    2024-04-02
  • Android 应用中怎么监听WiFi的开关状态
    Android 应用中怎么监听WiFi的开关状态?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Android 监听WiFi的开关状态实现代码WifiSwitch...
    99+
    2023-05-31
    android roi wifi
  • observer数据监听器小程序怎么开发
    这篇文章主要介绍“observer数据监听器小程序怎么开发”,在日常操作中,相信很多人在observer数据监听器小程序怎么开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”observer数据监听器小程序怎...
    99+
    2023-06-26
  • vue中的事件触发(emit)及监听(on)问题
    目录vue事件触发(emit)及监听(on)每个 vue 实例都实现了事件接口案例vue emit事件无法触发问题vue事件触发(emit)及监听(on) 每个 vue 实例都实现了...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作