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

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

parent 2c215f50
...@@ -121,6 +121,21 @@ public class T02StartActivity extends AppCompatActivity { ...@@ -121,6 +121,21 @@ public class T02StartActivity extends AppCompatActivity {
} }
private void observeBinding(){ 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 { ...@@ -34,7 +34,7 @@ public class T02StartViewModel extends AndroidViewModel {
private MutableLiveData<Case> currentCase = new MutableLiveData<>(); private MutableLiveData<Case> currentCase = new MutableLiveData<>();
private List<Case> cases; private List<Case> cases;
private int caseCursor = 0; private MutableLiveData<Integer> caseCursor = new MutableLiveData<>();
private LiveData<List<VehicleType>> vehicleTypes; private LiveData<List<VehicleType>> vehicleTypes;
private LiveData<List<Road>> roads; private LiveData<List<Road>> roads;
...@@ -52,6 +52,11 @@ public class T02StartViewModel extends AndroidViewModel { ...@@ -52,6 +52,11 @@ public class T02StartViewModel extends AndroidViewModel {
roads = infoRepository.roadDao.getAllLiveData(); roads = infoRepository.roadDao.getAllLiveData();
spaces = infoRepository.spaceDao.getAllLiveData(); spaces = infoRepository.spaceDao.getAllLiveData();
cases = infoRepository.caseDao.getAll(); 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(){ public LiveData<List<VehicleType>> getVehicleTypes(){
...@@ -59,6 +64,9 @@ public class T02StartViewModel extends AndroidViewModel { ...@@ -59,6 +64,9 @@ public class T02StartViewModel extends AndroidViewModel {
} }
public LiveData<List<Road>> getRoads(){ return roads; } public LiveData<List<Road>> getRoads(){ return roads; }
public LiveData<List<Space>> getSpaces(){ return spaces; } 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 void setCurrentUser(User user){ currentUser.setValue(user);};
public LiveData<Case> getCurrentCase(){return currentCase;} public LiveData<Case> getCurrentCase(){return currentCase;}
public void setVehicleType(VehicleType vehicleType){ public void setVehicleType(VehicleType vehicleType){
...@@ -143,6 +151,7 @@ public class T02StartViewModel extends AndroidViewModel { ...@@ -143,6 +151,7 @@ public class T02StartViewModel extends AndroidViewModel {
switch (tempCase.caseStatus){ switch (tempCase.caseStatus){
case NEW: case NEW:
infoRepository.executorService.execute(() -> { infoRepository.executorService.execute(() -> {
tempCase.caseStatus = CaseStatus.LIST;
infoRepository.caseDao.insertAll(tempCase); infoRepository.caseDao.insertAll(tempCase);
for (int i = 0 ; i < tempCasePhoto.size(); i++){ for (int i = 0 ; i < tempCasePhoto.size(); i++){
...@@ -159,10 +168,16 @@ public class T02StartViewModel extends AndroidViewModel { ...@@ -159,10 +168,16 @@ public class T02StartViewModel extends AndroidViewModel {
// 跳至新單 // 跳至新單
currentCase.postValue(newCase()); currentCase.postValue(newCase());
// 加入清單
cases.add(tempCase);
caseCursor.setValue(caseCursor.getValue() + 1);
}); });
break; break;
case LIST: case LIST:
// 跳至新單
currentCase.postValue(newCase());
caseCursor.setValue(caseCursor.getValue() + 1);
break; break;
case CHANGED: case CHANGED:
...@@ -334,16 +349,27 @@ public class T02StartViewModel extends AndroidViewModel { ...@@ -334,16 +349,27 @@ public class T02StartViewModel extends AndroidViewModel {
*/ */
public void pageDown() { public void pageDown() {
int casesSize = cases.size(); 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() { 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