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

新增巡場模式點選案件跳轉

parent e2b59b69
......@@ -12,6 +12,6 @@
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2022-08-22T03:51:15.557672Z" />
<timeTargetWasSelectedWithDropDown value="2022-08-22T09:24:14.288273800Z" />
</component>
</project>
\ No newline at end of file
......@@ -28,11 +28,13 @@ public class ReNewListAdapter extends RecyclerView.Adapter<ReNewListAdapter.ReNe
private Map<String, List<Case>> caseMap;
private List<String> keys = new ArrayList<>();
private LiveData<Location> currentLocation;
private ReNewNestedAdapter.OnItemClickListener onItemClickListener;
public ReNewListAdapter(Map<String, List<Case>> caseMap, LiveData<Location> location){
public ReNewListAdapter(Map<String, List<Case>> caseMap, LiveData<Location> location, ReNewNestedAdapter.OnItemClickListener onItemClickListener){
this.caseMap = caseMap;
this.keys = new ArrayList<>(caseMap.keySet());
this.currentLocation = location;
this.onItemClickListener = onItemClickListener;
}
......@@ -47,7 +49,7 @@ public class ReNewListAdapter extends RecyclerView.Adapter<ReNewListAdapter.ReNe
public void onBindViewHolder(@NonNull ReNewListViewHolder holder, int position) {
String key = keys.get(position);
if (caseMap.containsKey(key)){
holder.setBinding(key,caseMap.get(key), recycledViewPool);
holder.setBinding(key,caseMap.get(key), recycledViewPool, onItemClickListener);
}
}
......@@ -79,9 +81,9 @@ public class ReNewListAdapter extends RecyclerView.Adapter<ReNewListAdapter.ReNe
});
}
void setBinding(String road, List<Case> cases,RecyclerView.RecycledViewPool recycledViewPool){
void setBinding(String road, List<Case> cases,RecyclerView.RecycledViewPool recycledViewPool, ReNewNestedAdapter.OnItemClickListener onItemClickListener){
this.caseList = cases;
ReNewNestedAdapter reNewNestedAdapter = new ReNewNestedAdapter();
ReNewNestedAdapter reNewNestedAdapter = new ReNewNestedAdapter(onItemClickListener);
reNewNestedAdapter.submitList(caseList);
dataBinding.renewListRecyclerView.setAdapter(reNewNestedAdapter);
dataBinding.renewListRecyclerView.setRecycledViewPool(recycledViewPool);
......
......@@ -14,8 +14,10 @@ import ecom.android.newparkapp.databinding.RecyclerViewRenewItemBinding;
import ecom.android.newparkapp.entity.Case;
public class ReNewNestedAdapter extends ListAdapter<Case, ReNewNestedAdapter.ReNewNestedViewHolder> {
public ReNewNestedAdapter(){
private OnItemClickListener onItemClickListener;
public ReNewNestedAdapter(OnItemClickListener onItemClickListener){
super(caseItemCallback);
this.onItemClickListener = onItemClickListener;
}
@NonNull
......@@ -27,7 +29,7 @@ public class ReNewNestedAdapter extends ListAdapter<Case, ReNewNestedAdapter.ReN
@Override
public void onBindViewHolder(@NonNull ReNewNestedViewHolder holder, int position) {
holder.setBinding(getItem(position));
holder.setBinding(getItem(position), onItemClickListener);
}
public static final DiffUtil.ItemCallback<Case> caseItemCallback = new DiffUtil.ItemCallback<Case>() {
......@@ -49,7 +51,7 @@ public class ReNewNestedAdapter extends ListAdapter<Case, ReNewNestedAdapter.ReN
this.dataBinding = dataBinding;
}
void setBinding(Case thisCase){
void setBinding(Case thisCase, OnItemClickListener onItemClickListener){
int nextAddMinsAway = thisCase.getNextAddMinsAway();
int parkPeriodColor = Color.BLACK;
if (nextAddMinsAway < 10)
......@@ -60,7 +62,13 @@ public class ReNewNestedAdapter extends ListAdapter<Case, ReNewNestedAdapter.ReN
dataBinding.parkPeriod.setTextColor(parkPeriodColor);
dataBinding.renewItemIcon.setBackgroundResource(R.drawable.icon);
dataBinding.getRoot().setOnClickListener(view -> onItemClickListener.onSpaceCaseClick(thisCase.billingNumber2));
}
}
public interface OnItemClickListener{
void onSpaceCaseClick(String billingNumber2);
}
}
......@@ -295,8 +295,9 @@ public class T02StartActivity extends AppCompatActivity {
});
gpsSearchModeActivityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
if (result.getResultCode() == RESULT_OK){
if (result.getResultCode() == RESULT_OK && result.getData() != null){
String billingNumber2 = result.getData().getStringExtra("BillingNumber2");
t02StartViewModel.go2Page(billingNumber2);
}
});
}
......
package ecom.android.newparkapp.view;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
......@@ -20,6 +21,7 @@ import java.util.stream.Collectors;
import ecom.android.newparkapp.R;
import ecom.android.newparkapp.adapter.ReNewListAdapter;
import ecom.android.newparkapp.adapter.ReNewNestedAdapter;
import ecom.android.newparkapp.databinding.ActivityT04RenewListBinding;
import ecom.android.newparkapp.entity.Case;
import ecom.android.newparkapp.entity.RenewInfoData;
......@@ -39,6 +41,7 @@ public class T04RenewListActivity extends AppCompatActivity {
private ReNewListAdapter reNewListAdapter;
private Map<String, List<Case>> pureCasesGroupByRoad = new HashMap<>();
private FusedGpsViewModel fusedGpsViewModel;
private ReNewNestedItemOnClick reNewNestedItemOnClick = new ReNewNestedItemOnClick();
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -62,7 +65,7 @@ public class T04RenewListActivity extends AppCompatActivity {
dataBinding.recyclelist.setLayoutManager(new LinearLayoutManager(this));
dataBinding.recyclelist.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
reNewListAdapter = new ReNewListAdapter(pureCasesGroupByRoad, fusedGpsViewModel.getLocation());
reNewListAdapter = new ReNewListAdapter(pureCasesGroupByRoad, fusedGpsViewModel.getLocation(), reNewNestedItemOnClick);
dataBinding.recyclelist.setAdapter(reNewListAdapter);
//下拉刷新
......@@ -118,4 +121,14 @@ public class T04RenewListActivity extends AppCompatActivity {
}
}
}
private class ReNewNestedItemOnClick implements ReNewNestedAdapter.OnItemClickListener {
@Override
public void onSpaceCaseClick(String billingNumber2) {
Intent intent = getIntent();
intent.putExtra("BillingNumber2", billingNumber2);
setResult(RESULT_OK, intent);
finish();
}
}
}
\ No newline at end of file
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