implementation 'androidx.recyclerview:recyclerview:1.0.0' //列表 implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.1'
import android.content.Context; import android.view.View; import com.billy.android.swipe.nurseing.Entity.LeaveData; import com.billy.android.swipe.nurseing.R; import com.billy.android.swipe.nurseing.View.ILeaveView; import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.module.LoadMoreModule; import com.chad.library.adapter.base.viewholder.BaseViewHolder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; public class LeaveAdapter extends BaseQuickAdapter<LeaveData, BaseViewHolder> implements LoadMoreModule { private Context mContext; private ILeaveView mILeaveView; public LeaveAdapter(Context context, ILeaveView iILeaveView , int layoutResId, @Nullable List<LeaveData> data) { super(layoutResId, data); mContext = context; mILeaveView = iILeaveView; } @Override protected void convert(@NotNull BaseViewHolder baseViewHolder, LeaveData iLeaveData) { baseViewHolder.setText(R.id.tv_leave_time, iLeaveData.getStartTime()+" ~ "+iLeaveData.getEndTime()) .setText(R.id.tv_leave_situation, iLeaveData.getLeaveCase()) .setText(R.id.tv_leave_accompany, iLeaveData.getKinsfolk()) .setText(R.id.tv_leave_desc, iLeaveData.getRemark()); int position = getItemPosition(iLeaveData); baseViewHolder.findView(R.id.adapter_leave_delete).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //删除 mILeaveView.deleteLeaveData(iLeaveData.getId(), position); } }); baseViewHolder.findView(R.id.adapter_leave_opdate).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //编辑 mILeaveView.goLeaveInfoActivity(1, position, iLeaveData); } }); } }
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.billy.android.swipe.nurseing.Adapter.LeaveAdapter;
import com.billy.android.swipe.nurseing.Data.SelectAskForLeaveByOldPeopleIdRsp;
import com.billy.android.swipe.nurseing.Entity.LeaveData;
import com.billy.android.swipe.nurseing.Present.LeavePresent;
import com.billy.android.swipe.nurseing.Proxy.NetManageProxy;
import com.billy.android.swipe.nurseing.R;
import com.billy.android.swipe.nurseing.User.UserManager;
import com.billy.android.swipe.nurseing.Utils.Contants;
import com.billy.android.swipe.nurseing.View.ILeaveView;
import com.chad.library.adapter.base.listener.OnLoadMoreListener;
import org.xutils.view.annotation.ViewInject;
import java.util.ArrayList;
public class LeaveActivity extends BaseActivity implements ILeaveView ,SwipeRefreshLayout.OnRefreshListener {
@ViewInject(R.id.rv_list)
RecyclerView rv_leave_list;
@ViewInject(R.id.swipeRefreshLayout)
SwipeRefreshLayout swipeRefreshLayout;
private LeavePresent mLeavePresent;
private LeaveAdapter mLeaveAdapter;
private String oldPeopleId;
private int page = 1;
private LeaveData mLeaveData = new LeaveData();
private int loadMoreCount = 0;
private boolean isfirst = true;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setBaseTitleBar(1, getResources().getString(R.string.leave_title), R.layout.titlebar_right);
mTitlebar_divider.setVisibility(View.GONE);
mLeavePresent = new LeavePresent(this, this);
mLeaveAdapter = new LeaveAdapter(this, this, R.layout.adapter_leave, null);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
rv_leave_list.setLayoutManager(layoutManager);
rv_leave_list.setAdapter(mLeaveAdapter);
swipeRefreshLayout.setColorSchemeColors(getResources().getColor(R.color.blue1));
swipeRefreshLayout.setEnabled(true);
swipeRefreshLayout.setOnRefreshListener(this);
}
@Override
protected int getLayoutId() {
return R.layout.activity_leave;
}
@Override
protected void onTitlebarRightListener() {
super.onTitlebarRightListener();
}
@Override
protected void onResume() {
super.onResume();
}
@Override
public void LeaveData(SelectAskForLeaveByOldPeopleIdRsp.SelectAskForLeaveByOldPeopleIdInfoData selectAskForLeaveByOldPeopleIdInfoData) {
boolean isLastPage = selectAskForLeaveByOldPeopleIdInfoData.isLastPage();
swipeRefreshLayout.setRefreshing(false);
if (isfirst){
initRecycleView(selectAskForLeaveByOldPeopleIdInfoData.getList());
if(isLastPage){
mLeaveAdapter.getLoadMoreModule().loadMoreEnd();
}
}else if (isLastPage){
mLeaveAdapter.addData(selectAskForLeaveByOldPeopleIdInfoData.getList());
mLeaveAdapter.getLoadMoreModule().loadMoreEnd();
}else {
mLeaveAdapter.addData(selectAskForLeaveByOldPeopleIdInfoData.getList());
mLeaveAdapter.getLoadMoreModule().loadMoreComplete();
}
}
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
isfirst = true;
loadMoreCount = 1;
selectAskForLeaveByOldPeopleId(oldPeopleId, loadMoreCount+"");
}
},1);
}
private void initRecycleView( ArrayList<LeaveData> list) {
if (isfirst){
mLeaveAdapter.setNewData(list);
}else {
mLeaveAdapter.addData(list);
}
mLeaveAdapter.getLoadMoreModule().setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore() {
loadMoreCount++;
isfirst = false;
selectAskForLeaveByOldPeopleId(oldPeopleId, loadMoreCount+"");
}
});
}
}