Commit f657a352 authored by YONG-LIN SU's avatar YONG-LIN SU

新增上一筆 下一筆 案件切換

parent 2c215f50
......@@ -121,6 +121,21 @@ public class T02StartActivity extends AppCompatActivity {
}
private void observeBinding(){
t02StartViewModel.getCaseCursor().observe(this, caseCursor -> {
// 判斷當前,是否為第一筆
if (caseCursor == 0){
if (dataBinding.btnPageUp.isEnabled()) dataBinding.btnPageUp.setEnabled(false);
}else {
if (!dataBinding.btnPageUp.isEnabled()) dataBinding.btnPageUp.setEnabled(true);
}
// 判斷當前,是否為最後一起
if (t02StartViewModel.isLastCase()){
if (dataBinding.btnPageDown.isEnabled()) dataBinding.btnPageDown.setEnabled(false);
}else {
if (!dataBinding.btnPageDown.isEnabled()) dataBinding.btnPageDown.setEnabled(true);
}
});
}
......
......@@ -34,7 +34,7 @@ public class T02StartViewModel extends AndroidViewModel {
private MutableLiveData<Case> currentCase = new MutableLiveData<>();
private List<Case> cases;
private int caseCursor = 0;
private MutableLiveData<Integer> caseCursor = new MutableLiveData<>();
private LiveData<List<VehicleType>> vehicleTypes;
private LiveData<List<Road>> roads;
......@@ -52,6 +52,11 @@ public class T02StartViewModel extends AndroidViewModel {
roads = infoRepository.roadDao.getAllLiveData();
spaces = infoRepository.spaceDao.getAllLiveData();
cases = infoRepository.caseDao.getAll();
for (int i = 0; i < cases.size(); i ++){
cases.get(i).caseStatus = CaseStatus.LIST;
}
caseCursor.setValue(1);
}
public LiveData<List<VehicleType>> getVehicleTypes(){
......@@ -59,6 +64,9 @@ public class T02StartViewModel extends AndroidViewModel {
}
public LiveData<List<Road>> getRoads(){ return roads; }
public LiveData<List<Space>> getSpaces(){ return spaces; }
public LiveData<Integer> getCaseCursor(){return caseCursor;}
public int getCastListSize(){return cases.size();}
public boolean isLastCase(){ return (caseCursor.getValue()+1) >= cases.size();}
public void setCurrentUser(User user){ currentUser.setValue(user);};
public LiveData<Case> getCurrentCase(){return currentCase;}
public void setVehicleType(VehicleType vehicleType){
......@@ -143,6 +151,7 @@ public class T02StartViewModel extends AndroidViewModel {
switch (tempCase.caseStatus){
case NEW:
infoRepository.executorService.execute(() -> {
tempCase.caseStatus = CaseStatus.LIST;
infoRepository.caseDao.insertAll(tempCase);
for (int i = 0 ; i < tempCasePhoto.size(); i++){
......@@ -159,10 +168,16 @@ public class T02StartViewModel extends AndroidViewModel {
// 跳至新單
currentCase.postValue(newCase());
// 加入清單
cases.add(tempCase);
caseCursor.setValue(caseCursor.getValue() + 1);
});
break;
case LIST:
// 跳至新單
currentCase.postValue(newCase());
caseCursor.setValue(caseCursor.getValue() + 1);
break;
case CHANGED:
......@@ -334,16 +349,27 @@ public class T02StartViewModel extends AndroidViewModel {
*/
public void pageDown() {
int casesSize = cases.size();
int newCaseCursor = caseCursor.getValue() + 1 ;
// 判斷是否到底了
if (casesSize > caseCursor){
if (casesSize > newCaseCursor){
Case tempCase = cases.get(newCaseCursor);
currentCase.setValue(tempCase);
caseCursor.setValue(newCaseCursor);
}
}
/**
* 案件頁面切換上一頁
*/
public void pageUp() {
int newCaseCursor = caseCursor.getValue() - 1 ;
// 判斷是否為第一筆
if (newCaseCursor >= 0){
Case tempCase = cases.get(newCaseCursor);
currentCase.setValue(tempCase);
caseCursor.setValue(newCaseCursor);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment