From d6e9b7e33b2b4387a4102a93026482e3a1ecf073 Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 7 Sep 2022 16:27:57 +0800 Subject: [PATCH] Fix search focus --- .../android/tv/ui/activity/SearchActivity.java | 12 ++++++------ .../android/tv/ui/adapter/HistoryAdapter.java | 10 +++++----- .../android/tv/ui/adapter/WordAdapter.java | 10 +++++----- app/src/leanback/res/layout/activity_search.xml | 9 +++++---- .../res/layout/adapter_search_history.xml | 16 ++++++++++++++++ ...{adapter_word.xml => adapter_search_word.xml} | 2 +- 6 files changed, 38 insertions(+), 21 deletions(-) create mode 100644 app/src/leanback/res/layout/adapter_search_history.xml rename app/src/leanback/res/layout/{adapter_word.xml => adapter_search_word.xml} (91%) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java index 49b3c75c1..c7d902a9d 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java @@ -93,12 +93,12 @@ public class SearchActivity extends BaseActivity implements WordAdapter.OnClickL } private void setRecyclerView() { - mBinding.word.setHasFixedSize(true); - mBinding.word.addItemDecoration(new SpaceItemDecoration(1, 16)); - mBinding.word.setAdapter(mWordAdapter = new WordAdapter(this)); - mBinding.history.setHasFixedSize(true); - mBinding.history.addItemDecoration(new SpaceItemDecoration(1, 16)); - mBinding.history.setAdapter(mHistoryAdapter = new HistoryAdapter(this)); + mBinding.wordRecycler.setHasFixedSize(true); + mBinding.wordRecycler.addItemDecoration(new SpaceItemDecoration(1, 16)); + mBinding.wordRecycler.setAdapter(mWordAdapter = new WordAdapter(this)); + mBinding.historyRecycler.setHasFixedSize(true); + mBinding.historyRecycler.addItemDecoration(new SpaceItemDecoration(1, 16)); + mBinding.historyRecycler.setAdapter(mHistoryAdapter = new HistoryAdapter(this)); } private void getHot() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java index 694cdaa77..94c860b24 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java @@ -7,7 +7,7 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -import com.fongmi.android.tv.databinding.AdapterWordBinding; +import com.fongmi.android.tv.databinding.AdapterSearchHistoryBinding; import com.fongmi.android.tv.utils.Prefers; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @@ -37,9 +37,9 @@ public class HistoryAdapter extends RecyclerView.Adapter { public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { - private final AdapterWordBinding binding; + private final AdapterSearchWordBinding binding; - public ViewHolder(@NonNull AdapterWordBinding binding) { + public ViewHolder(@NonNull AdapterSearchWordBinding binding) { super(binding.getRoot()); this.binding = binding; itemView.setOnClickListener(this); @@ -57,11 +57,11 @@ public class WordAdapter extends RecyclerView.Adapter { @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return new ViewHolder(AdapterWordBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); + return new ViewHolder(AdapterSearchWordBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { - holder.binding.text.setText(mItems.get(position)); + holder.binding.word.setText(mItems.get(position)); } } diff --git a/app/src/leanback/res/layout/activity_search.xml b/app/src/leanback/res/layout/activity_search.xml index 66269d6a0..da94317a0 100644 --- a/app/src/leanback/res/layout/activity_search.xml +++ b/app/src/leanback/res/layout/activity_search.xml @@ -27,7 +27,7 @@ android:textSize="24sp" /> + tools:listitem="@layout/adapter_search_history" /> @@ -52,6 +52,7 @@ android:layout_marginEnd="12dp" android:focusable="true" android:focusableInTouchMode="true" + android:nextFocusLeft="@id/history" android:scaleType="fitCenter" android:src="@drawable/ic_mic" /> @@ -103,7 +104,7 @@ android:textSize="24sp" /> + tools:listitem="@layout/adapter_search_word" /> diff --git a/app/src/leanback/res/layout/adapter_search_history.xml b/app/src/leanback/res/layout/adapter_search_history.xml new file mode 100644 index 000000000..5c1663f19 --- /dev/null +++ b/app/src/leanback/res/layout/adapter_search_history.xml @@ -0,0 +1,16 @@ + + \ No newline at end of file diff --git a/app/src/leanback/res/layout/adapter_word.xml b/app/src/leanback/res/layout/adapter_search_word.xml similarity index 91% rename from app/src/leanback/res/layout/adapter_word.xml rename to app/src/leanback/res/layout/adapter_search_word.xml index bd01b713c..15b456142 100644 --- a/app/src/leanback/res/layout/adapter_word.xml +++ b/app/src/leanback/res/layout/adapter_search_word.xml @@ -1,7 +1,7 @@