看图:
我这是两个全选页面,所以一般这种是两个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" />
<RadioGroup
android: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">
<RadioButton
android: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="我为第一审批人" />
<RadioButton
android: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>
<FrameLayout
android: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;
@Override
public int getLayoutResId() {
return R.layout.activity_approval_people;
}
@Override
public 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">
<ListView
android:id="@+id/lv_my_apply_first"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/white" />
<LinearLayout
android: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">
<TextView
android: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="同意" />
<TextView
android: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.EmptyView
android:id="@+id/empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>