android textview时实显示checkbox选中的内容

android studio创建android项目(6)——CheckBox复选框和toast的混合使用 文章目录1、项目需求2、项目分析3、布局文件4、Activity5、运行结果 1、项目需求 本项目是一个安卓项目,启动页面有多个复选框和一个TextView 复选框分别显示为北京、上海、广州;TextView的文字为:已经勾选的城市; 点击每个复选框时,toast提示复选框的内容和选中状态(true和false) 点击文字时,toast提示选中的城市有哪些 2、项目分析 checkbox的勾... 阅读详情

在项目需求中可能遇到这种情况,要求textview时实显示checkbox选中的内容。

首先看效果图

这里写图片描述

主要讲解两个知识点。

1.listview点击checkbox选中:

  首先checkbox设置: 
      android:focusable="false"
      android:clickable="false"

  然后在代码是用一个map作记录,初始化所有选中为    false,在点击 时候设置为true;

2.textview时实显示checkbox选中的内容;

  用一个ArrayList在每次点击item的时候重新设置集合,    然后遍历集合,增加到字符串中,最后显示到textview中。
代码如下:

item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:padding="5dp"
    android:orientation="horizontal">

    <CheckBox
        android:focusable="false"
        android:clickable="false"
        android:id="@+id/checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="10dp" />

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="30dp"
        android:text="item"
        android:textSize="20dp" />
</LinearLayout>

主要知识点还在是代码中注释讲解。

package app.checkboxdemo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.HashMap;

public class MainActivity extends Activity {
    private ListView listview;
    private ArrayList list;
    private MyAdapter adapter;
    //用于记录checkbox选中的状态;
    public static HashMap map;
    private TextView textview;
    //把选中的checkbox添加到集合中;
    private ArrayList selectedItem;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listview = (ListView) findViewById(R.id.listview);
        textview = (TextView) findViewById(R.id.textview);
        selectedItem = new ArrayList();
        initData();
        initCheckBox();
        adapter = new MyAdapter();
        listview.setAdapter(adapter);
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String s = "";
                ViewHolder holder = (ViewHolder) view.getTag();
                //toggle();设置开关。选中则再次点击为不选中。
                holder.cb.toggle();
                //在每次获取点击的item时将对于的checkbox状态改变,同时修改map的值。
                getIsSelected().put(position, holder.cb.isChecked());
                if (holder.cb.isChecked() == true) {
                    System.out.println("选中" + position);
                    //添加到集合中;
                    selectedItem.add(list.get(position));
                } else {
                    System.out.println("取消选中" + position);
                    //从集合中移除元素。
                    selectedItem.remove(list.get(position));
                }
                //最后遍历集合显示在textview;
                for (int i = 0; i < selectedItem.size(); i++) {
                    s = s + selectedItem.get(i);
                }
                textview.setText(s);
            }
        });
    }

    private void initCheckBox() {
        map = new HashMap();
        for (int i = 0; i < list.size(); i++) {
            map.put(i, false);
        }
    }

    private void initData() {
        list = new ArrayList();
        for (int i = 0; i < 30; i++) {
            list.add("这是item" + i);
        }
    }

    class MyAdapter extends BaseAdapter {

        @Override
        public int getCount() {
            return list.size();
        }

        @Override
        public Object getItem(int position) {
            return position;
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder vh;
            if (convertView == null) {
                vh = new ViewHolder();
                convertView = getLayoutInflater().inflate(R.layout.item, null);
                vh.cb = (CheckBox) convertView.findViewById(R.id.checkbox);
                vh.tv = (TextView) convertView.findViewById(R.id.textview);
                convertView.setTag(vh);
            } else {
                vh = (ViewHolder) convertView.getTag();
            }
            vh.tv.setText(list.get(position) + "");
            //得到当前map中的选中的状态;默认为没有选中;
            vh.cb.setChecked(getIsSelected().get(position));
            return convertView;
        }
    }

    static final class ViewHolder {
        CheckBox cb;
        TextView tv;
    }

    public static HashMap<Integer, Boolean> getIsSelected() {
        return map;
    }
}
安卓讲课笔记5.4 单选按钮和复选框 1. 能在应用中使用单选按钮; 2. 能在应用中使用单选按钮组; 3. 能在应用中使用复选框 阅读详情

相关推荐

不止于ACC:用CarSim的‘Multiple Objects’和路径跟踪器玩转复杂交通流场景

本文深入探讨了如何利用CarSim的'Multiple Objects'模块和路径跟踪器模拟复杂交通流场景,超越传统ACC测试的局限。通过批量控制、动态交互和参数化设计,实现多车智能响应和复杂轨迹模拟,适用于连续变道、拥堵博弈、匝道汇流等真实交通场景。

weixin_30954265的博客 497

Android搜索实时显示功能实现

前言作为一名Android开发小白,应该时刻督促自己不断的学习技术,最近遇到了一个和搜索有关的问题,就学习找时间学习了一下,如何实现简单Android的搜索功能并可以实时预览搜索结果,整体思路应该和平常我们见到的搜索功能差不多,所以可以直接将我的这个嵌套到你的项目中使用。 项目源代码 本博客同步发布于 XueLong的博客先来看看效果图吧!

XueLong的博客 4276

增程式永磁电机发电系统电压环二自由度控制器设计

本论文主要研究增程式永磁电机发电系统的电压环二自由度控制器设计。该系统采用二自由度控制策略,通过精确调节电压环和电流环,显著提高系统的动态响应性能和稳态稳定性。基于SVPWM(空间矢量脉宽调制)技术,本研究设计的电压环控制器能够在负载突变和外部扰动的情况下,快速恢复并保持电压稳定,从而满足增程式永磁电机发电系统对电压精度和稳定性的高要求。仿真分析表明,所设计的控制器在不同工况下展现出良好的电压稳定性、较短的响应时间和较低的稳态误差,能够有效抑制电压波动并提高系统的鲁棒性。实验结果表明,控制器在维持高效能和高

weixin_44553616的博客 897

Android学习 画图 (一) 球

1.画一个球,在遇到四周的墙壁会反弹。 package com.example.draw2d; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint

Dake 2606

MODBUS通讯不求人:手把手教你用三菱FX2N控制士林变频器

本文详细介绍了如何使用三菱FX2N PLC通过MODBUS协议控制士林变频器,涵盖硬件连接、参数配置、程序设计及通讯优化等关键步骤。特别针对没有内置MODBUS函数块的老款PLC,提供了CRC校验和稳定数据交换的实用解决方案,帮助工程师快速实现工业自动化设备的高效通讯。

v4w5x6的博客 226

“华为杯”研究生数学建模竞赛2019年-【华为杯】D题:汽车行驶工况构建(附获奖论文和MATLAB代码实现)

映了汽车道路行驶的运动学特征。准差、加速度标准差这九个特征参数用于后续的数据分析,建立了合理的汽车运动特征评。特征参数与所属类特征参数的特征值的相关性大小替代误差进行排序的,计算得到汽车行。对于问题一,我们首先对原始数据进行了时间变量转换,将原本的年月日时分秒的计。紧接着进行了运动学片段的划分,引入九个特征参数,通过主成分分析、本文研究的是汽车行驶工况构建,汽车行驶工况是描述汽车行驶的速度。的合理性评价标准,对两种方法都进行了合理性评价,得到的。进行了合理性评价,得到了最优的汽车行驶工况曲线。

getusushu的博客 1000

android通知消息条目显示,android学习日记21--消息提示之Toast和Notification

1、ToastToast译为土司,类似切片面包,用于弹出比较快速的及时提示信息。当Toast被显示时,虽然它悬浮应用程序最上方,但是并未获得焦点。它的设计就是为了提示有用的信息,而不打扰用户其他操作。最使用简单:// 第一个参数:当前的上下文环境。可用getApplicationContext()或this// 第二个参数:要显示的字符串。也可是R.string中字符串ID// 第三个参数:显示的...

weixin_31815843的博客 819

9、横向束流光学:原理、模拟与耦合效应

本文系统介绍了横向束流光学中的关键概念,包括色度、色散、发射度、动量压缩因子以及四维耦合效应。通过MATLAB代码详细演示了相关参数的计算与模拟流程,展示了粒子在加速器中的运动特性及其对束流稳定性的影响。同时,讨论了如何通过磁铁配置优化束流光学性能,为加速器的设计与优化提供了理论基础和实践指导。

resnet7explorer的博客 118

android-球随手动

核心知识点:根据View.OnTouchListener的坐标监听,然后设置新坐标,并View.invalidate()重绘界面。View.invalidate();//刷新视图(相当于onDraw方法)View.OnTouchListener//监听down、move、up事件及坐标示例一:拖动自定义的小球布局:<?xml version="1.0" encoding="utf-8"?> <Lin

火星男孩的分享空间 655

uniapp - 解决 uni.chooseImage 在苹果 IOS 真机上点击没反应的问题,苹果手机点击 uni.chooseImage方法不生效,也不报任何错误(解决苹果ios系统点击无效问题)

uniapp小程序h5网页苹果ios系统点击uni.chooseImage不执行点击无效,uniapp使用uni.chooseImage方法点击没反应怎么办,uniappuni.chooseImage在ios苹果手机运行点击不触发,uniappuni.chooseImage苹果ios系统点击无效,uniapp项目ios端云打包之后uni.chooseImage不生效了,uniapp打包之后uni.chooseImage()无法打开相机,uniapp苹果手机无法打开相机和相册,uniapp网页h5微信支

🏆 前端领域优质创作者 1万+

科研绘图系列:R语言折线图(linechart plots)

科研绘图系列:R语言折线图(linechart plots)

专注生信领域 1270

Android 中如何处理checkbox的选中、未选中

xml页面布局 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http:/

dearbaba_1666的博客 2430

Midscene.js(1):Chrome 插件实战之基于 AI 驱动 WEB UI 自动化测试「喂饭教程」

Midscene.js 是一款开源的AI驱动UI自动化工具,支持自然语言交互、数据提取、断言验证等多种功能。自然语言交互。本文将以 Midscene.js Chrome 插件为例,带你从零上手,体验如何用最简单的方式实现高效、智能的UI自动化测试。

blues_C的博客 4404

android--checkbox实时反馈于textview

1.初学android,某个任务需将checkbox信息放入textview显示,一开始怎么也解决不了,网上搜索实时更新,找到的多是高度复杂,要不直接只有布局。 后隔一天突然想到可将其视为一种点击态,单数次显示,双数时空值覆盖,完成该任务。 现将示例代码贴下: 2.layout布局部分:     android:id="@+id/tab1"     android:layout_

Stranger6的博客 851

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android 控件之TextView、EditView、CheckBox

Android 控件之TextView、EditView、CheckBox --学习笔记3(金海建) 目的:通过一个登陆框,来学习TextView、EditView、CheckBox的使用 新建一个工程,然后设计如下ui Main.xml layout代码 TextView 设置username颜色为白色、字体大小为20、设置粗体 设置 password颜色为白色、字体为18 m_username = (TextView)this.findView

jinhaijian的专栏 3387

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

安卓使用Checkbox实现多选效果

CheckBox:复选框 1.有两种状态: 选中状态(true),未选中状态(false) 2.属性: android:id="@+id/checkbox" android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:checked=“false” android:text=“男” CheckBox的默认android:checked属性为false。 checkBox的OnCheckedChangeLis

asdxcx的博客 1417

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

android checkbox,android CheckBox使用和状态获得

packagecom.example.yanlei.yl2;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;//导入必备的包importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.CheckBox;importandr...

weixin_36268255的博客 1138

android中checkbox使用方法,Android开发CheckBox的使用详细解析

释放双眼,带上耳机,听听看~!今天小编跟大家分享一篇Android CheckBox的使用详细解析,感兴趣的朋友跟小编一起来了解一下吧!复制代码 代码如下:public class MainActivity extends Activity {TextView tv;CheckBox cb1;CheckBox cb2;@Overrideprotected void onCreate(Bundle ...

weixin_28956763的博客 1672

Android学习笔记之判断checkbox是否选中

创建MainActivity.java,并继承Activity package com.example.demo9; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Chec

蒙娜丽莎的磨脚石 2万+

Android学习-实现一个ListView中由Checkbox和TextView构成的布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:descendantFocusability="blocksDesce

myKernel 1012

android中checkbox使用方法,Android开发中CheckBox的简单用法示例

本文实例讲述了Android开发中CheckBox的简单用法。分享给大家供大家参考,具体如下:CheckBox是一种在界面开发中比较常见的控件,Android中UI开发也有CheckBox,简单的说下它的使用,每个CheckBox都要设置监听,设置的监听为CompouButton.OnCheckedChangedListener()。package com.zhuguangwei;import a...

weixin_42366954的博客 2093

Android中可展开收起内容的TextView

android开发中,我们常常会有一些需求,也不得不去实现它,一方面是提升自己的技术水平,再者是实现自己的价值,对一个阶段性的自己有个评估,自己是否又进步了多少,又掌握了多少,如果遇到想跳槽时,面对面试官,是否有货拿出来............. 今天我们就来说说,在android开发中,实现一个可以折叠,展开收起内容的Textview,这个效果,代码呢也相对比较简单,相信大家一定在QQ空间或者...

u013335025的博客 6997

Android学习之CheckBox(附加全选功能)

文章目录前言1、布局2、定义变量并获取组件id3、监听全选按钮4、子选项的监听5、提交监听6、总结 前言 ​ 最近在写Android作业,其中一个就是复选框CheckBox的使用,在此记录一下写的过程,本人是只萌新,好多地方写的还有些不规范或是写的不对欢迎大佬们提点。 ​ 先看一下做出来的效果 ==设计思路:==当点击全选时所有的选择框都选择上,再点击时取消选择,当下面的子选项选择时判断是否全部...

Betray2的博客 4189

Android之CheckBox实例实现

XML <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android....

qq_45353823的博客 992

android控件checkBox的选中效果

一如既往的先声明: private TextView result; private String china; 接下来: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a

半路出道的songsong 604

Android CheckBox的基本使用

Android CheckBox的基本使用 一、 说明 本文主要讲一下Android的CheckBox基本知识。 二、 所用工具 Android Studio 三、 具体内容 CheckBox 复选框,可以同时选中多个值 例子 xml代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-aut

weixin_44547431的博客 1万+
上一篇: Android中仿QQ聊天内容中提取电话号码,URL
下一篇: android背景选择器总结
android_xiaogang
博客等级 码龄12年 89粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值