|
|
@ -6,7 +6,6 @@ import android.view.Gravity; |
|
|
|
import android.view.LayoutInflater; |
|
|
|
import android.view.LayoutInflater; |
|
|
|
import android.view.View; |
|
|
|
import android.view.View; |
|
|
|
import android.view.ViewGroup; |
|
|
|
import android.view.ViewGroup; |
|
|
|
import android.widget.CalendarView; |
|
|
|
|
|
|
|
import android.widget.TextView; |
|
|
|
import android.widget.TextView; |
|
|
|
|
|
|
|
|
|
|
|
import androidx.annotation.NonNull; |
|
|
|
import androidx.annotation.NonNull; |
|
|
@ -19,6 +18,9 @@ import androidx.recyclerview.widget.DividerItemDecoration; |
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager; |
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager; |
|
|
|
import androidx.recyclerview.widget.RecyclerView; |
|
|
|
import androidx.recyclerview.widget.RecyclerView; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.haibin.calendarview.Calendar; |
|
|
|
|
|
|
|
import com.haibin.calendarview.CalendarView; |
|
|
|
|
|
|
|
|
|
|
|
import org.reactivestreams.Subscription; |
|
|
|
import org.reactivestreams.Subscription; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.Collections; |
|
|
|
import java.util.Collections; |
|
|
@ -62,29 +64,42 @@ public class HomeFragment extends Fragment { |
|
|
|
fragmentHomeBinding = FragmentHomeBinding.inflate(inflater, container, false); |
|
|
|
fragmentHomeBinding = FragmentHomeBinding.inflate(inflater, container, false); |
|
|
|
ConstraintLayout rootLayout = fragmentHomeBinding.getRoot(); |
|
|
|
ConstraintLayout rootLayout = fragmentHomeBinding.getRoot(); |
|
|
|
|
|
|
|
|
|
|
|
TextView homeTitleTextView = fragmentHomeBinding.homeTitleTextView; |
|
|
|
initTextView(); |
|
|
|
homeTitleTextView.setGravity(Gravity.CENTER); |
|
|
|
|
|
|
|
homeViewModel.getTitle().observe(getViewLifecycleOwner(), value -> homeTitleTextView.setText(value)); |
|
|
|
|
|
|
|
homeTitleTextView.setText("未完待续..."); |
|
|
|
|
|
|
|
homeViewModel.setSelectDate(new Date()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CalendarView homeMainCalendar = fragmentHomeBinding.homeMainCalendar; |
|
|
|
|
|
|
|
homeMainCalendar.setDate(DateUtil.date().getTime()); |
|
|
|
|
|
|
|
homeMainCalendar.setOnDateChangeListener((calendarView, year, month, day) -> { |
|
|
|
|
|
|
|
long date = calendarView.getDate(); |
|
|
|
|
|
|
|
String format = StrUtil.format("{}-{}-{}", year, month + 1, day); |
|
|
|
|
|
|
|
Log.d("calendar_change", "tag = " + DateUtil.date(date).toDateStr() + ", ==>" + format); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 缓存选择的日期
|
|
|
|
initCalendarView(); |
|
|
|
homeViewModel.setSelectDate(DateUtil.parseDate(format)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 刷新数据
|
|
|
|
initVerticalCalendarView(); |
|
|
|
refreshDataListByDate(format); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 默认查一次今天的数据
|
|
|
|
// 默认查一次今天的数据
|
|
|
|
refreshDataListByDate(DateUtil.formatDate(new Date())); |
|
|
|
refreshDataListByDate(DateUtil.formatDate(new Date())); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
initRecyleView(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return rootLayout; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void initVerticalCalendarView() { |
|
|
|
|
|
|
|
CalendarView homeMainCalendar = fragmentHomeBinding.homeMainCalendar; |
|
|
|
|
|
|
|
// homeMainCalendar.setSchemeDate();
|
|
|
|
|
|
|
|
homeMainCalendar.setOnCalendarSelectListener(new CalendarView.OnCalendarSelectListener() { |
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void onCalendarOutOfRange(Calendar calendar) { |
|
|
|
|
|
|
|
Log.d("onCalendarOutOfRange", "" + calendar.getTimeInMillis()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void onCalendarSelect(Calendar calendar, boolean isClick) { |
|
|
|
|
|
|
|
Log.d("onCalendarSelect", isClick + "---" + calendar.getTimeInMillis()); |
|
|
|
|
|
|
|
String dateStr = StrUtil.format("{}-{}-{}", calendar.getYear(), calendar.getMonth(), calendar.getDay()); |
|
|
|
|
|
|
|
homeViewModel.setSelectDate(DateUtil.parseDate(dateStr)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 刷新数据
|
|
|
|
|
|
|
|
refreshDataListByDate(dateStr); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void initRecyleView() { |
|
|
|
RecyclerView homeDataZoneRecyclerView = fragmentHomeBinding.homeDataZoneRecyclerView; |
|
|
|
RecyclerView homeDataZoneRecyclerView = fragmentHomeBinding.homeDataZoneRecyclerView; |
|
|
|
homeDataZoneRecyclerView.addItemDecoration(new DividerItemDecoration(this.getActivity(), DividerItemDecoration.VERTICAL)); |
|
|
|
homeDataZoneRecyclerView.addItemDecoration(new DividerItemDecoration(this.getActivity(), DividerItemDecoration.VERTICAL)); |
|
|
|
DefaultItemAnimator itemAnimator = new DefaultItemAnimator(); |
|
|
|
DefaultItemAnimator itemAnimator = new DefaultItemAnimator(); |
|
|
@ -96,8 +111,32 @@ public class HomeFragment extends Fragment { |
|
|
|
fragmentHomeBinding.homeDataZoneRecyclerView.setAdapter(homeRecycleViewAdapter); |
|
|
|
fragmentHomeBinding.homeDataZoneRecyclerView.setAdapter(homeRecycleViewAdapter); |
|
|
|
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); |
|
|
|
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); |
|
|
|
fragmentHomeBinding.homeDataZoneRecyclerView.setLayoutManager(layoutManager); |
|
|
|
fragmentHomeBinding.homeDataZoneRecyclerView.setLayoutManager(layoutManager); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return rootLayout; |
|
|
|
private void initCalendarView() { |
|
|
|
|
|
|
|
// CalendarView homeMainCalendar = fragmentHomeBinding.homeMainCalendar;
|
|
|
|
|
|
|
|
// homeMainCalendar.setDate(DateUtil.date().getTime());
|
|
|
|
|
|
|
|
// homeMainCalendar.setOnDateChangeListener((calendarView, year, month, day) -> {
|
|
|
|
|
|
|
|
// long date = calendarView.getDate();
|
|
|
|
|
|
|
|
// String format = StrUtil.format("{}-{}-{}", year, month + 1, day);
|
|
|
|
|
|
|
|
// Log.d("calendar_change", "tag = " + DateUtil.date(date).toDateStr() + ", ==>" + format);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// // 缓存选择的日期
|
|
|
|
|
|
|
|
// homeViewModel.setSelectDate(DateUtil.parseDate(format));
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// // 刷新数据
|
|
|
|
|
|
|
|
// refreshDataListByDate(format);
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void initTextView() { |
|
|
|
|
|
|
|
TextView homeTitleTextView = fragmentHomeBinding.homeTitleTextView; |
|
|
|
|
|
|
|
homeTitleTextView.setGravity(Gravity.CENTER); |
|
|
|
|
|
|
|
homeViewModel.getTitle().observe(getViewLifecycleOwner(), value -> homeTitleTextView.setText(value)); |
|
|
|
|
|
|
|
homeTitleTextView.setText("未完待续..."); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
homeViewModel.getSelectDate().observe(getViewLifecycleOwner(), value -> homeTitleTextView.setText(DateUtil.formatDate(value))); |
|
|
|
|
|
|
|
homeViewModel.setSelectDate(new Date()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|