我有一组项应该填充在列表中,为此我使用了WearableRecyclerView
。在某些情况下,我希望特定的项目是在重点选择。我正在使用scrollToPosition()
方法,但监视列表不会滚动到所需位置,但在移动电话上,使用WearableLinearLayoutManager
和RecyclerView
将其设置为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);