我有一组项应该填充在列表中,为此我使用了WearableRecyclerView。在某些情况下,我希望特定的项目是在重点选择。我正在使用scrollToPosition()方法,但监视列表不会滚动到所需位置,但在移动电话上,使用WearableLinearLayoutManagerRecyclerView将其设置为scrollToPosition()工作并滚动到所需位置的方法是相同的。
我的手表密码:

    WearableRecyclerView slots_rv = findViewById(R.id.slots_rv);
 .....


        WearableLinearLayoutManager wearableLinearLayoutManager =
            new WearableLinearLayoutManager(this, customScrollingLayoutCallback);
    slots_rv.setLayoutManager(
            wearableLinearLayoutManager);
    slots_rv.setCircularScrollingGestureEnabled(true);
    wearableLinearLayoutManager.scrollToPosition(slotsAdapter.getPositionToFocus());
    slots_rv.scrollToPosition(slotsAdapter.getPositionToFocus());
    slots_rv.getLayoutManager().scrollToPosition(slotsAdapter.getPositionToFocus());
    slots_rv.setAdapter(slotsAdapter);

这里可能出什么问题?

最佳答案

看起来您没有使用您在第2行中声明的WearableLinearLayoutManager。您正在将layoutmanager设置为新实例,因此调用scrolltoposition将不起作用。尝试以下操作

    WearableLinearLayoutManager wearableLinearLayoutManager = new WearableLinearLayoutManager(this, customScrollingLayoutCallback);
    slots_rv.setLayoutManager(wearableLinearLayoutManager);

    slots_rv.setCircularScrollingGestureEnabled(true);

    wearableLinearLayoutManager.scrollToPosition(slotsAdapter.getPositionToFocus());
    slots_rv.setAdapter(slotsAdapter);

08-04 07:37