android - WearableRecyclerView .scrollToPosition 不适用于磨损?

标签 android android-layout android-recyclerview wear-os wearable-recyclerview

我有一组应该填充在列表中的项目,为此我使用了 WearableRecyclerView。在某些情况下,我希望特定项目成为焦点以供选择。我正在使用 WearableLinearLayoutManagerscrollToPosition() 方法,但是监视列表没有滚动到所需的位置,但是在使用 RecyclerView 的手机上也是一样> 和 LinearLayoutManagerscrollToPosition() 设置为 RecyclerView 工作并滚动到所需位置。

我的佩戴 watch 代码:

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);

关于android - WearableRecyclerView .scrollToPosition 不适用于磨损?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52055098/

相关文章:

android - 在自定义对话框中显示 map

android - 通用图像加载器图像比例

java - 某些操作的刷新 Activity

android - 嵌套 fragment 内的 Recyclerview 未显示

android - 如何根据 Android Kotlin 中的宽度将圆角应用于 View

android - 加载新数据时 RecyclerView 滚动到顶部

java - 由于图像太多(只有 20 张图像),无法在 Note 2 上运行应用程序

android - 在 ImageView 旁边的 LinearLayout 中放置两个 textView

java - Android AsyncTask 中的 ArrayList

android - ViewHolder 中的 kotlin-android-extensions