Android开发之ListView的全选和全不选
生活随笔
收集整理的這篇文章主要介紹了
Android开发之ListView的全选和全不选
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看圖:
我這是兩個全選頁面,所以一般這種是兩個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的全选和全不选的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nvidia控制面板找不到首选图形处理器
- 下一篇: windows ai文字如何创建轮廓