package com.dayu.recharge.acitivity; import static com.dayu.recharge.view.TitleBar.ClickType_RIGHT_TEXT; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import com.dayu.recharge.adapter.NewCardAdapter; import com.dayu.recharge.databinding.ActivityNewcardListBinding; import com.dayu.recharge.dbBean.UserCardBean; import com.dayu.recharge.utils.ToastUtil; import com.dayu.recharge.view.datepicker.CustomDatePicker; import com.dayu.recharge.view.datepicker.DateFormatUtils; import java.util.List; /** * Created by zuoxiao on 2018/12/24. */ public class NewCardListActivity extends BaseActivity { ActivityNewcardListBinding newcardListBinding; List userCardBeanList; NewCardAdapter adapter; private CustomDatePicker beginDatePicker; private CustomDatePicker endDatePicker; long beginTime; long endTime; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); newcardListBinding = ActivityNewcardListBinding.inflate(LayoutInflater.from(this)); setContentView(newcardListBinding.getRoot()); setRightButton(); setData(); initDatePicker(); } private void setData() { try { userCardBeanList = baseDao.userCardDao().findAll(); } catch (Exception e) { e.printStackTrace(); } adapter = new NewCardAdapter(this, userCardBeanList); newcardListBinding.newCardListView.setAdapter(adapter); } private void setRightButton() { titleBar.setOnItemclickListner(ClickType_RIGHT_TEXT, new View.OnClickListener() { @Override public void onClick(View v) { beginDatePicker.show(System.currentTimeMillis()); } }); } private void initDatePicker() { long beginTimestamp = DateFormatUtils.str2Long("2009-05-01", false); final long endTimestamp = System.currentTimeMillis(); // 通过时间戳初始化日期,毫秒级别 beginDatePicker = new CustomDatePicker(this, "选择开始时间", new CustomDatePicker.Callback() { @Override public void onTimeSelected(long timestamp) { beginTime = timestamp; endDatePicker.show(timestamp); } }, beginTimestamp, endTimestamp); // 不允许点击屏幕或物理返回键关闭 beginDatePicker.setCancelable(false); // 不显示时和分 beginDatePicker.setCanShowPreciseTime(false); // 不允许循环滚动 beginDatePicker.setScrollLoop(false); // 不允许滚动动画 beginDatePicker.setCanShowAnim(false); endDatePicker = new CustomDatePicker(this, "选择结束时间", new CustomDatePicker.Callback() { @Override public void onTimeSelected(long timestamp) { endTime = timestamp; if ((endTime < beginTime) && endTime != beginTime) { ToastUtil.show(NewCardListActivity.this, "结束时间不能晚于开始时间"); } else { try { endTime = endTime + (1000 * 60 * 60 * 24) - 1; List userList = baseDao.userCardDao().findByTime(beginTime, endTime); userCardBeanList.clear(); userCardBeanList.addAll(userList); adapter.notifyDataSetChanged(); } catch (Exception e) { e.printStackTrace(); } } } }, beginTimestamp, endTimestamp); // 不允许点击屏幕或物理返回键关闭 endDatePicker.setCancelable(false); // 不显示时和分 endDatePicker.setCanShowPreciseTime(false); // 不允许循环滚动 endDatePicker.setScrollLoop(false); // 不允许滚动动画 endDatePicker.setCanShowAnim(false); } @Override protected void onDestroy() { super.onDestroy(); endDatePicker.onDestroy(); beginDatePicker.onDestroy(); } }