使用RecyclerView

时间:2018-05-22 13:02:30

标签: android android-recyclerview android-tv d-pad

我的应用程序支持Android TV和智能手机

一般来说,通过应用程序导航很顺利,但我有一个像这样的布局问题

View with Buttons
RecyclerView
View with Buttons

我想用D-pad(或箭头)在这个视图中导航,但Recycler有点问题。

我可以通过设置

从上下视图设置对回收器的关注
android:nextFocusDown="@+id/recycler"  

并使回收者可以集中精力,但现在我想要“进入”回收商,例如使用D-pad OK(或回车)

如何在imeInputType(ok / enter)中将重点从回收者转移到回收者的第一个孩子,并重点关注从孩子回到他的父回收者的点击(后退/ esc)?

1 个答案:

答案 0 :(得分:1)

您正在以编程方式添加子视图,因此您需要以编程方式设置下一个焦点视图。

像这样的东西

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {

            View child = mRecyclerView.getLayoutManager().getChildAt(0);
            child.setFocusable(true);
            child.setFocusableInTouchMode(true);
            child.requestFocus();

            // to check current focused view
            // View focused = getActivity().getCurrentFocus();

            return true;
        }
        return false;
    }
});