看图:

我这是两个全选页面,所以一般这种是两个fragment进行嵌套实现。来看下我主页布局

<?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="match_parent"android:orientation="vertical"><include layout="@layout/common_title_view" /><RadioGroupandroid:id="@+id/rg_tab_approval_home"android:layout_width="match_parent"android:layout_height="@dimen/dp_44"android:background="@android:color/white"android:orientation="horizontal"android:paddingTop="10dp"><RadioButtonandroid:id="@+id/rb_my_approval_first"style="@style/RadioGroupButtonStyle"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:button="@null"android:checked="true"android:drawableBottom="@drawable/rb_tab_bg"android:drawablePadding="15dp"android:gravity="center"android:text="我为第一审批人" /><RadioButtonandroid:id="@+id/rb_my_approval_second"style="@style/RadioGroupButtonStyle"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:button="@null"android:drawableBottom="@drawable/rb_tab_bg"android:drawablePadding="15dp"android:gravity="center"android:text="我为第二审批人" /></RadioGroup><FrameLayoutandroid:id="@+id/fl_approval_people_replace"android:layout_width="match_parent"android:layout_height="match_parent" />
</LinearLayout>

上面布局长这样:

再来看下住页面代码:

package com.yhsh.mobile.attendance.approval;import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.Toolbar;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;import com.yhsh.mobile.attendance.R;
import com.yhsh.mobile.common.base.BaseActivity;/*** @author 轻飞扬*         2018年10月23日18:44:53*         审批人页面*/
public class ApprovalPeopleActivity extends BaseActivity {private RadioGroup rgTabApprovalHome;private Fragment fragment;private boolean allSelect = false;private TextView subToolbar;/*** 默认第一审批人*/private int isSelectPosition = 1;@Overridepublic int getLayoutResId() {return R.layout.activity_approval_people;}@Overridepublic void initView(Bundle savedInstanceState) {Toolbar toolbar = findViewById(R.id.toolbar);subToolbar = findViewById(R.id.toolbar_subTitle);TextView titleTV = findViewById(R.id.toolbar_title);titleTV.setText("我的审批");subToolbar.setText("选择全部");setSupportToolbar(toolbar, v -> finish());subToolbar.setOnClickListener(v -> allSelect());rgTabApprovalHome = findViewById(R.id.rg_tab_approval_home);initListener();fragment = new FirstApprovalPeopleFragment();showFragmentPage(fragment);}private void allSelect() {if (isSelectPosition == 1) {if (FirstApprovalPeopleFragment.getData() == null) {Toast.makeText(this, "暂无可勾选数据", Toast.LENGTH_SHORT).show();return;}FirstApprovalPeopleFragment.allSelect(allSelect);} else if (isSelectPosition == 2) {if (SecondApprovalPeopleFragment.getData() == null) {Toast.makeText(this, "暂无可勾选数据", Toast.LENGTH_SHORT).show();return;}SecondApprovalPeopleFragment.allSelect(allSelect);}setAllSelect();}private void setAllSelect() {if (allSelect) {subToolbar.setText("选择全选");} else {subToolbar.setText("选择不选");}allSelect = !allSelect;}private void initListener() {rgTabApprovalHome.setOnCheckedChangeListener((group, checkedId) -> {if (checkedId == R.id.rb_my_approval_first) {isSelectPosition = 1;//第一审批人fragment = new FirstApprovalPeopleFragment();} else if (checkedId == R.id.rb_my_approval_second) {isSelectPosition = 2;//第二审批人fragment = new SecondApprovalPeopleFragment();}showFragmentPage(fragment);});}private void showFragmentPage(Fragment fragment) {getSupportFragmentManager().beginTransaction().replace(R.id.fl_approval_people_replace, fragment).commit();}
}

再来看下第一审批人的布局:

<?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="match_parent"android:background="#F0F2F5"android:orientation="vertical"><ListViewandroid:id="@+id/lv_my_apply_first"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:background="@color/white" /><LinearLayoutandroid:id="@+id/ll_operate"android:layout_width="match_parent"android:layout_height="@dimen/dp_44"android:background="@color/white"android:visibility="gone"android:gravity="center"><TextViewandroid:id="@+id/tv_approval_agree"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:gravity="center"android:textColor="#00CC00"android:text="同意" /><TextViewandroid:id="@+id/tv_approval_refuse"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:gravity="center"android:textColor="#FF0000"android:text="拒绝" /></LinearLayout><com.yhsh.mobile.uiwidget.widget.EmptyViewandroid:id="@+id/empty_view"android:layout_width="match_parent"android:layout_height="match_parent" />
</LinearLayout>

Android开发之ListView的全选和全不选相关推荐

  1. android listview edittext 焦点冲突,Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法...

    //这个是设置EditText添加到行的Layout时需要的属性,高度无所谓,宽度要填满父容器,别手动设置宽度dp private LayoutParams fillParentLayoutParam ...

  2. android listview 开发,android开发之ListView实现

    今天又初步学习了一下ListView控件,看看效果如下: LisViewActivity.java源码: package com.jinhoward.UI_listview; import java. ...

  3. Android开发之ListView异步加载图片

    ListView这个控件对于大家肯定不会陌生,即使你是初学者相信也会用ListView.因为ListView这个控件实在是太常用,可以说基本上每一个项目开发都会用到它,今天这篇博客主要讲解,ListV ...

  4. Android开发之listview添加头布局(header)和脚布局(footer)的方法

    我们先说下添加的方法 方法一:正常添加lvCouponList.addHeaderView(headerView);lvCouponList.addFooterView(footerView); 方法 ...

  5. Android开发之ListView子布局item高度的问题

    当你设置了子item为具体高度的时候可能会出现子布局里面的子条目产生设置高度无效的问题,那应该怎么解决呢? 很简单需要设置一个属性在xml中 minHeight的最小高度为子item的高度即可解决此b ...

  6. Android透明到白色滑动渐变,Android开发之Activity全透明渐变切换方法

    Activity全透明渐变切换 类似于Dialog的显示动画效果一样 1. 先设置Acitivity为去透明,在取消掉Activity默认的切换动画 true @color/colorPrimary ...

  7. Android开发之旅:应用程序基础及组件

    --成功属于耐得住寂寞的人,接下来几篇将讲述Android应用程序的原理及术语,可能会比较枯燥.如果能够静下心来看,相信成功将属于你. 引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android ...

  8. Flutter开发之ListView下拉刷新上拉加载更多(35)

    在Flutter开发之ListView组件(21) 文章中,我们了解了ListView组件的基本使用.但是数据比较少,没有涉及分页加载.而实际开发中,下拉刷新和分页加载几乎是所有APP的标配.在iOS ...

  9. android之json解析优化,Android开发之json解析

    目前正在尝试着写app,发现看懂代码和能写出来差距很大,最关键的是java基础比较的差,因为只会python,java基础只学习了一个礼拜就过了.感觉java写出来的代码不如python简单明了. 上 ...

最新文章

  1. 和封神一起“深挖”Spark
  2. [Android Pro] svn实例
  3. Oracle 创建及调用存储过程,脚本示例
  4. Spring Bean 作用域之间的区别?
  5. 玻璃体浑浊的分子原理
  6. 1603 限高二叉排列树(计数DP)
  7. 二维数组 类型_「初识C语言」二维数组
  8. leetcode516 最长回文子序列
  9. [Vue.js] Vuex的使用
  10. 无代码来了,还要程序员吗?
  11. 计算机关闭远程桌面 共享功能,win7旗舰版系统优化禁止用远程桌面共享的解决方法...
  12. LAV Filter 源代码分析 3: LAV Video (1)
  13. android viewdraghelper 点击移动,ViewDragHelper使用时遇到的问题
  14. xshell访问内网虚拟机
  15. C#实现调用第三方接口进行短信验证码验证
  16. 安装ADOBE READER时无法将数值写入键_php_sir_新浪博客
  17. MacBook Air(2012)维修笔记
  18. 如何解决App inventor和AI伴侣无法连接的问题
  19. bootstrap-table固定表头固定列
  20. MFC中关于char[]转换成LPCWSTR的问题

热门文章

  1. HDLBits答案(21)_Verilog有限状态机(8)
  2. android 图片特征提取比对_判断ImageView当前的图片是哪个图片,然后比对资源文件的操作...
  3. 中国海洋大学计算机学院研究生导师,中国海洋大学硕士研究生导师介绍:唐瑞春...
  4. 浪潮服务器测试文档,ESXI6.7注入浪潮服务器raid驱动测试
  5. 安卓平板排行榜_shopee虾皮台湾安卓市场, shopee虾皮直播下载
  6. java rmi 入门实例
  7. ab 轻量的压测工具
  8. C# 实现DataTable、DataSet与XML互相转换
  9. OpenCV学习笔记——判断两张图的相似度
  10. MFC 定时器用法 SetTimer、KillTimer