From 19dfe093afea523849d8476fc37346ed69976988 Mon Sep 17 00:00:00 2001 From: 18401019693 Date: Sat, 6 Aug 2022 16:43:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yunbao/main/activity/SearchActivity.java | 33 ++++++++++++++++--- .../main/adapter/SearchRecommendAdapter.java | 4 +-- .../adapter/SearchResultsItemAdapter.java | 2 +- .../fragment/SearchRecommendFragment.java | 25 ++------------ .../fragment/SearchResultsItemFragment.java | 3 +- .../com/yunbao/main/views/FlowLayout.java | 2 +- .../views/SearchRecommendHeardViewHolder.java | 2 ++ main/src/main/res/layout/activity_search.xml | 1 - ...view_anchor_search_results_item_holder.xml | 9 ++++- .../main/res/layout/view_search_recommend.xml | 10 ++++-- .../res/layout/view_search_recommend_body.xml | 7 ++++ .../layout/view_search_recommend_heard.xml | 10 ++++-- .../res/layout/view_search_results_item.xml | 13 ++++++-- .../view_user_search_results_item_holder.xml | 9 ++++- 14 files changed, 87 insertions(+), 43 deletions(-) diff --git a/main/src/main/java/com/yunbao/main/activity/SearchActivity.java b/main/src/main/java/com/yunbao/main/activity/SearchActivity.java index 597704b24..05caba447 100644 --- a/main/src/main/java/com/yunbao/main/activity/SearchActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/SearchActivity.java @@ -6,18 +6,18 @@ import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; +import android.view.View; import android.widget.EditText; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import com.yunbao.common.activity.AbsActivity; +import com.yunbao.common.manager.SearchHistoryRecordManager; import com.yunbao.main.R; import com.yunbao.main.fragment.SearchRecommendFragment; import com.yunbao.main.fragment.SearchResultsFragment; -import com.yunbao.main.fragment.SearchResultsItemFragment; -import com.yunbao.main.http.MainHttpConsts; -import com.yunbao.main.http.MainHttpUtil; +import com.yunbao.main.utils.WordsTypeUtil; /** @@ -48,15 +48,37 @@ public class SearchActivity extends AbsActivity { transaction.commit(); mEditText = findViewById(R.id.edit); mEditText.addTextChangedListener(textWatcher); + //退出检索页面保存搜索记录 + findViewById(R.id.btn_back).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //检索关键字 + String searchKey = mEditText.getText().toString().trim(); + if (!TextUtils.isEmpty(searchKey)) { + //保存检索历史记录 + SearchHistoryRecordManager.get(mContext).addHistoryRecord(WordsTypeUtil.changeSimplified(searchKey), WordsTypeUtil.changeTraditional(searchKey)); + } + finish(); + } + }); } @Override protected void onDestroy() { - MainHttpUtil.cancel(MainHttpConsts.SEARCH); - super.onDestroy(); } + @Override + public void onBackPressed() { + //检索关键字 + String searchKey = mEditText.getText().toString().trim(); + if (!TextUtils.isEmpty(searchKey)) { + //保存检索历史记录 + SearchHistoryRecordManager.get(mContext).addHistoryRecord(WordsTypeUtil.changeSimplified(searchKey), WordsTypeUtil.changeTraditional(searchKey)); + } + finish(); + } + //輸入框監聽函數 TextWatcher textWatcher = new TextWatcher() { @Override @@ -93,4 +115,5 @@ public class SearchActivity extends AbsActivity { } }; + } diff --git a/main/src/main/java/com/yunbao/main/adapter/SearchRecommendAdapter.java b/main/src/main/java/com/yunbao/main/adapter/SearchRecommendAdapter.java index fb09867ff..022b3ad61 100644 --- a/main/src/main/java/com/yunbao/main/adapter/SearchRecommendAdapter.java +++ b/main/src/main/java/com/yunbao/main/adapter/SearchRecommendAdapter.java @@ -63,8 +63,8 @@ public class SearchRecommendAdapter extends RecyclerView.Adapter { if (recommendModels.size() == 1 && recommendModels.get(position).getHistoryRecordMap().size() == 0){ return BODY; }else { - if (position == (recommendModels.size() - 1) ) { - return HEAD; + if (position == 0 ) { + return HEAD; } else { return BODY; } diff --git a/main/src/main/java/com/yunbao/main/adapter/SearchResultsItemAdapter.java b/main/src/main/java/com/yunbao/main/adapter/SearchResultsItemAdapter.java index 222de46fc..cfecad618 100644 --- a/main/src/main/java/com/yunbao/main/adapter/SearchResultsItemAdapter.java +++ b/main/src/main/java/com/yunbao/main/adapter/SearchResultsItemAdapter.java @@ -63,7 +63,7 @@ public class SearchResultsItemAdapter extends RecyclerView.Adapter { @Override public int getItemViewType(int position) { if (type == 1 && lists.size() > 1) { - if (position == (lists.size() - 1)) { + if (position ==0) { return ANCHOR; } else { return USER; diff --git a/main/src/main/java/com/yunbao/main/fragment/SearchRecommendFragment.java b/main/src/main/java/com/yunbao/main/fragment/SearchRecommendFragment.java index 73863de0d..d095a72be 100644 --- a/main/src/main/java/com/yunbao/main/fragment/SearchRecommendFragment.java +++ b/main/src/main/java/com/yunbao/main/fragment/SearchRecommendFragment.java @@ -49,7 +49,7 @@ public class SearchRecommendFragment extends BaseFragment { searchRecommend = contentView.findViewById(R.id.search_recommend_list); adapter = new SearchRecommendAdapter(getActivity()); - searchRecommend.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, true)); + searchRecommend.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); searchRecommend.setAdapter(adapter); @@ -72,7 +72,7 @@ public class SearchRecommendFragment extends BaseFragment { SearchRecommendModel model = new SearchRecommendModel(); searchRecommendModels.add(model.setHistoryRecordMap(historyRecordMap)); } - searchRecommendModels.add(0, new SearchRecommendModel().setList(data.getList())); + searchRecommendModels.add( new SearchRecommendModel().setList(data.getList())); adapter.addData(searchRecommendModels); } @@ -86,26 +86,7 @@ public class SearchRecommendFragment extends BaseFragment { @Subscribe(threadMode = ThreadMode.MAIN) public void onSearchRecommendEvent(SearchRecommendEvent event) { - //展示网络请求弹窗 - LoadingDialog fragment = new LoadingDialog(); - fragment.show(getChildFragmentManager(), "LoadingDialog"); - MainNetManager.get(getActivity()) - .anchorRecommend("6", new HttpCallback() { - @Override - public void onSuccess(AnchorRecommendModel data) { - fragment.dismiss(); - //组装搜索历史数据 - List searchRecommendModels = new ArrayList<>(); - searchRecommendModels.add(0, new SearchRecommendModel().setList(data.getList())); - adapter.addData(searchRecommendModels); - - } - - @Override - public void onError(String error) { - fragment.dismiss(); - } - }); + loadData(); } } diff --git a/main/src/main/java/com/yunbao/main/fragment/SearchResultsItemFragment.java b/main/src/main/java/com/yunbao/main/fragment/SearchResultsItemFragment.java index 14b4f571b..34adaeb27 100644 --- a/main/src/main/java/com/yunbao/main/fragment/SearchResultsItemFragment.java +++ b/main/src/main/java/com/yunbao/main/fragment/SearchResultsItemFragment.java @@ -48,7 +48,7 @@ public class SearchResultsItemFragment extends BaseFragment { searchList = contentView.findViewById(R.id.search_list); loading.setVisibility(View.VISIBLE); itemAdapter = new SearchResultsItemAdapter(); - searchList.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, true)); + searchList.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); searchList.setAdapter(itemAdapter); } @@ -72,7 +72,6 @@ public class SearchResultsItemFragment extends BaseFragment { type, page, new HttpCallback>>() { @Override public void onSuccess(List> data) { - Collections.reverse(data); itemAdapter.showData(data, type); loading.setVisibility(View.GONE); } diff --git a/main/src/main/java/com/yunbao/main/views/FlowLayout.java b/main/src/main/java/com/yunbao/main/views/FlowLayout.java index 222e75b49..c6e348b20 100644 --- a/main/src/main/java/com/yunbao/main/views/FlowLayout.java +++ b/main/src/main/java/com/yunbao/main/views/FlowLayout.java @@ -51,7 +51,7 @@ public class FlowLayout extends ViewGroup { if (heightMode == MeasureSpec.EXACTLY) { measuredHeight = heightSize; - } else if (heightMode == MeasureSpec.AT_MOST) { + } else { measuredHeight = compute.get("allChildHeight"); } //设置flow的宽高 diff --git a/main/src/main/java/com/yunbao/main/views/SearchRecommendHeardViewHolder.java b/main/src/main/java/com/yunbao/main/views/SearchRecommendHeardViewHolder.java index e986330f6..2d966669e 100644 --- a/main/src/main/java/com/yunbao/main/views/SearchRecommendHeardViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/SearchRecommendHeardViewHolder.java @@ -6,6 +6,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.NonNull; @@ -33,6 +34,7 @@ public class SearchRecommendHeardViewHolder extends RecyclerView.ViewHolder { * 展示搜索歷史 */ public void setHistory(Map historyMap) { + searchHistory.removeAllViews(); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(17, 10, 0, 10); diff --git a/main/src/main/res/layout/activity_search.xml b/main/src/main/res/layout/activity_search.xml index 7adc21046..5ca115f33 100644 --- a/main/src/main/res/layout/activity_search.xml +++ b/main/src/main/res/layout/activity_search.xml @@ -56,7 +56,6 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" - android:onClick="backClick" android:text="@string/cancel" android:textColor="#FF000000" android:textSize="16sp" /> diff --git a/main/src/main/res/layout/view_anchor_search_results_item_holder.xml b/main/src/main/res/layout/view_anchor_search_results_item_holder.xml index b1ad1a71d..1c8bebec6 100644 --- a/main/src/main/res/layout/view_anchor_search_results_item_holder.xml +++ b/main/src/main/res/layout/view_anchor_search_results_item_holder.xml @@ -7,6 +7,12 @@ android:layout_marginRight="20dp" android:orientation="vertical"> + + + android:layout_marginTop="10dp" + android:fadingEdge="none" /> \ No newline at end of file diff --git a/main/src/main/res/layout/view_search_recommend.xml b/main/src/main/res/layout/view_search_recommend.xml index e31e02fff..853bcfa83 100644 --- a/main/src/main/res/layout/view_search_recommend.xml +++ b/main/src/main/res/layout/view_search_recommend.xml @@ -4,9 +4,15 @@ android:layout_height="match_parent" android:orientation="vertical"> + + + android:layout_height="wrap_content" + android:fadingEdge="none" /> \ No newline at end of file diff --git a/main/src/main/res/layout/view_search_recommend_body.xml b/main/src/main/res/layout/view_search_recommend_body.xml index f40333409..d58072c44 100644 --- a/main/src/main/res/layout/view_search_recommend_body.xml +++ b/main/src/main/res/layout/view_search_recommend_body.xml @@ -32,10 +32,17 @@ android:textSize="16sp" /> + + \ No newline at end of file diff --git a/main/src/main/res/layout/view_search_recommend_heard.xml b/main/src/main/res/layout/view_search_recommend_heard.xml index eb0cc270f..d61969ced 100644 --- a/main/src/main/res/layout/view_search_recommend_heard.xml +++ b/main/src/main/res/layout/view_search_recommend_heard.xml @@ -5,6 +5,12 @@ android:orientation="vertical" android:padding="11dp"> + + @@ -13,8 +19,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:text="@string/search_history" android:layout_marginLeft="10dp" + android:text="@string/search_history" android:textColor="#FF000000" android:textSize="16sp" /> @@ -29,7 +35,7 @@ diff --git a/main/src/main/res/layout/view_search_results_item.xml b/main/src/main/res/layout/view_search_results_item.xml index 9d22ae88e..6dd0a1126 100644 --- a/main/src/main/res/layout/view_search_results_item.xml +++ b/main/src/main/res/layout/view_search_results_item.xml @@ -5,14 +5,20 @@ android:layout_height="match_parent" android:orientation="vertical"> + + + android:layout_height="wrap_content" + android:fadingEdge="none" /> \ No newline at end of file diff --git a/main/src/main/res/layout/view_user_search_results_item_holder.xml b/main/src/main/res/layout/view_user_search_results_item_holder.xml index 69202f621..12b3837d9 100644 --- a/main/src/main/res/layout/view_user_search_results_item_holder.xml +++ b/main/src/main/res/layout/view_user_search_results_item_holder.xml @@ -6,6 +6,12 @@ android:layout_marginRight="20dp" android:orientation="vertical"> + + + android:layout_marginTop="10dp" + android:fadingEdge="none" /> \ No newline at end of file