From 2fb397e4a31d14880ed2524f898ae67a0d664c06 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 17 十二月 2024 11:24:29 +0800 Subject: [PATCH] 1.在地图中心显示中心点。 2.优化地图覆盖物显示,使显示的图标正对坐标。 3.优化地图覆盖物文字居中显示。 --- app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java | 127 ++++++++++++++++++++---------------------- 1 files changed, 61 insertions(+), 66 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java index 4ca4016..377837d 100644 --- a/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java +++ b/app/src/main/java/com/dayu/pipirrapp/fragment/OrderFragment.java @@ -3,20 +3,22 @@ import android.content.Intent; import android.graphics.Typeface; import android.os.Bundle; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.lifecycle.Observer; import androidx.recyclerview.widget.LinearLayoutManager; +import com.dayu.pipirrapp.MyApplication; import com.dayu.pipirrapp.R; import com.dayu.pipirrapp.activity.OrderDetailActivity; import com.dayu.pipirrapp.adapter.OrderAdapter; import com.dayu.pipirrapp.bean.net.OrderListResult; -import com.dayu.pipirrapp.bean.net.WeatherResponse; import com.dayu.pipirrapp.databinding.FragmentOrderBinding; import com.dayu.pipirrapp.net.ApiManager; import com.dayu.pipirrapp.net.BaseResponse; @@ -28,8 +30,6 @@ import com.scwang.smart.refresh.footer.ClassicsFooter; import com.scwang.smart.refresh.header.ClassicsHeader; import com.scwang.smart.refresh.layout.api.RefreshLayout; -import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener; -import com.scwang.smart.refresh.layout.listener.OnRefreshListener; import java.util.ArrayList; import java.util.HashMap; @@ -43,18 +43,29 @@ * 澶囨敞锛氶椤� */ public class OrderFragment extends BaseFragment { - + public static final int RESULT_REFRESH = 1001; private final int STATE_DONE = 2; private final int STATE_UNDONE = 1; FragmentOrderBinding binding; OrderAdapter mAdapter; + OrderAdapter mDoneAdapter; int page = 1; int pageSize = 10; int state = 1; List<OrderListResult.Data> recordsListDone = new ArrayList<>(); List<OrderListResult.Data> recordsList = new ArrayList<>(); + RefreshLayout myRefreshLayout; + + private ActivityResultLauncher<Intent> activityResultLauncher = + registerForActivityResult( + new ActivityResultContracts.StartActivityForResult(), + result -> { + if (result.getResultCode() == RESULT_REFRESH) { + myRefreshLayout.autoRefresh(); + } + }); /** * 璁剧疆澶╂皵鐩稿叧淇℃伅 @@ -83,13 +94,8 @@ binding = FragmentOrderBinding.inflate(inflater, container, false); initView(); //鑾峰彇瀹氫綅鏈嶅姟浼犺繃鏉ョ殑鍧愭爣鐐� - LiveEventBus.get(CommonKeyName.MQTTData).observeForever(new Observer<Object>() { - @Override - public void onChanged(Object o) { - - } + LiveEventBus.get(CommonKeyName.MQTTData).observeForever(o -> { }); - return binding.getRoot(); } @@ -97,42 +103,30 @@ void initView() { //鏈畬鎴� - binding.manageStateProgress.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - chooseStateView(true); - state = STATE_UNDONE;//1 鏈紑濮� 2 宸插畬鎴� + binding.manageStateProgress.setOnClickListener(v -> { + chooseStateView(true); + state = STATE_UNDONE;//1 鏈紑濮� 2 宸插畬鎴� - } }); //宸插畬鎴� - binding.manageStateFinish.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - chooseStateView(false); - state = STATE_DONE;//1 鏈紑濮� 2 宸插畬鎴� - } + binding.manageStateFinish.setOnClickListener(v -> { + chooseStateView(false); + state = STATE_DONE;//1 鏈紑濮� 2 宸插畬鎴� }); //鏈畬鎴� - RefreshLayout myRefreshLayout = (RefreshLayout) binding.refreshLayout; + myRefreshLayout = (RefreshLayout) binding.refreshLayout; myRefreshLayout.setRefreshHeader(new ClassicsHeader(this.getContext())); myRefreshLayout.setRefreshFooter(new ClassicsFooter(this.getContext())); - myRefreshLayout.setOnRefreshListener(new OnRefreshListener() { - @Override - public void onRefresh(RefreshLayout refreshlayout) { + myRefreshLayout.setOnRefreshListener(refreshlayout -> { // refreshlayout.finishRefresh(2000/*,false*/);//浼犲叆false琛ㄧず鍒锋柊澶辫触 - recordsList.clear(); - page = 0; - getMarkerData(refreshlayout, true, STATE_UNDONE); - } + recordsList.clear(); + page = 0; + getMarkerData(refreshlayout, true, STATE_UNDONE); }); - myRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { - @Override - public void onLoadMore(RefreshLayout refreshlayout) { - page = page + 1; - getMarkerData(refreshlayout, false, STATE_UNDONE); - } + myRefreshLayout.setOnLoadMoreListener(refreshlayout -> { + page = page + 1; + getMarkerData(refreshlayout, false, STATE_UNDONE); }); mAdapter = new OrderAdapter(this.getContext(), recordsList, this); @@ -144,26 +138,20 @@ RefreshLayout myRefreshLayoutDone = (RefreshLayout) binding.refreshLayoutDone; myRefreshLayoutDone.setRefreshHeader(new ClassicsHeader(this.getContext())); myRefreshLayoutDone.setRefreshFooter(new ClassicsFooter(this.getContext())); - myRefreshLayoutDone.setOnRefreshListener(new OnRefreshListener() { - @Override - public void onRefresh(RefreshLayout refreshlayout) { + myRefreshLayoutDone.setOnRefreshListener(refreshlayout -> { // refreshlayout.finishRefresh(2000/*,false*/);//浼犲叆false琛ㄧず鍒锋柊澶辫触 - recordsList.clear(); - page = 0; - getMarkerData(refreshlayout, true, STATE_DONE); - } + recordsListDone.clear(); + page = 0; + getMarkerData(refreshlayout, true, STATE_DONE); }); - myRefreshLayoutDone.setOnLoadMoreListener(new OnLoadMoreListener() { - @Override - public void onLoadMore(RefreshLayout refreshlayout) { - page = page + 1; - getMarkerData(refreshlayout, false, STATE_DONE); - } + myRefreshLayoutDone.setOnLoadMoreListener(refreshlayout -> { + page = page + 1; + getMarkerData(refreshlayout, false, STATE_DONE); }); - mAdapter = new OrderAdapter(this.getContext(), recordsListDone, this); + mDoneAdapter = new OrderAdapter(this.getContext(), recordsListDone, this); LinearLayoutManager layoutManagerDone = new LinearLayoutManager(this.getContext()); binding.recyclerViewDone.setLayoutManager(layoutManagerDone); - binding.recyclerViewDone.setAdapter(mAdapter); + binding.recyclerViewDone.setAdapter(mDoneAdapter); getMarkerData(myRefreshLayoutDone, true, 2); } @@ -190,7 +178,7 @@ params.put("pageSize", pageSize); params.put("pageCurr", page); params.put("state", state); -// params.put("inspectorId", MyApplication.myApplication.userId); + params.put("inspectorId", MyApplication.myApplication.userId); ApiManager.getInstance().requestGetHideLoading(this.getContext(), Constants.BASE_URL + "/app/workOrder/getWorkOrders", OrderListResult.class, params, new SubscriberListener<BaseResponse<OrderListResult>>() { @Override @@ -203,7 +191,7 @@ } else { recordsListDone.addAll(t.getContent().getObj()); } - if (t.getContent().getObj().size() < pageSize) { + if (t.getContent().getPageTotal() == page) { refreshlayout.finishLoadMoreWithNoMoreData(); } } else { @@ -219,16 +207,23 @@ public void onCloose() { super.onCloose(); layoutFinish(refreshlayout, isRefresh); - mAdapter.notifyDataSetChanged(); + if (state == STATE_UNDONE) { + mAdapter.notifyDataSetChanged(); + } else { + mDoneAdapter.notifyDataSetChanged(); + } } }); } - public void startDetail(String id) { + public void startDetail(String workOrderId, String proResultId) { Intent intent = new Intent(this.getContext(), OrderDetailActivity.class); - intent.putExtra("workOrderId", id); - startActivity(intent); + intent.putExtra("workOrderId", workOrderId); + if (!TextUtils.isEmpty(proResultId)) { + intent.putExtra("proResultId", proResultId); + } + activityResultLauncher.launch(intent); } @@ -240,20 +235,20 @@ void chooseStateView(boolean state) { if (state) { - binding.manageStateProgress.setTextColor(getResources().getColor(R.color.title_color)); - binding.manageStateProgress.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit)); + binding.manageStateProgress.setTextColor(getResources().getColor(R.color.title_color,null)); + binding.manageStateProgress.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit,null)); binding.manageStateProgress.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); - binding.manageStateFinish.setTextColor(getResources().getColor(R.color.black)); - binding.manageStateFinish.setBackground(getResources().getDrawable(R.color.title_choose_bg)); + binding.manageStateFinish.setTextColor(getResources().getColor(R.color.black,null)); + binding.manageStateFinish.setBackground(getResources().getDrawable(R.color.title_choose_bg,null)); binding.manageStateFinish.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL)); binding.refreshLayout.setVisibility(View.VISIBLE); binding.refreshLayoutDone.setVisibility(View.GONE); } else { - binding.manageStateFinish.setTextColor(getResources().getColor(R.color.title_color)); - binding.manageStateFinish.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit)); + binding.manageStateFinish.setTextColor(getResources().getColor(R.color.title_color,null)); + binding.manageStateFinish.setBackground(getResources().getDrawable(R.drawable.ic_choose_bg_whit,null)); binding.manageStateFinish.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); - binding.manageStateProgress.setTextColor(getResources().getColor(R.color.black)); - binding.manageStateProgress.setBackground(getResources().getDrawable(R.color.title_choose_bg)); + binding.manageStateProgress.setTextColor(getResources().getColor(R.color.black,null)); + binding.manageStateProgress.setBackground(getResources().getDrawable(R.color.title_choose_bg,null)); binding.manageStateProgress.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL)); binding.refreshLayout.setVisibility(View.GONE); binding.refreshLayoutDone.setVisibility(View.VISIBLE); -- Gitblit v1.8.0