我正在使用Android TV
的{{1}}应用程序。如何将重点放在想要的位置上? (我已经尝试过recycler view
和scrollToPosition
,但是不起作用)。预先感谢!
答案 0 :(得分:0)
您必须在项目视图上调用setFocusable(true)
和setFocusableInTouchMode(true)
方法。
一个例子:
@NonNull
@Override
public ProgrammeAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.rv_item_programme, parent, false);
view.setFocusable(true);
view.setFocusableInTouchMode(true);
sDefaultBackgroundColor = ContextCompat.getColor(parent.getContext(), android.R.color.transparent);
sSelectedBackgroundColor = Color.parseColor("#66ffe680");
updateEPGTitleRowBackgroundColor(view, false);
view.setOnFocusChangeListener(mOnFocusChangeListener);
view.setOnKeyListener(mOnKeyListener);
return new ViewHolder(view);
}
修改:
您可以尝试致电
mRecyclerView.getChildAt(0).requestFocus();
聚焦特定项目的方法。只需将0替换为所需的项目索引即可。