gpt4 book ai didi

android - RemoteViewsFactory 如何处理 Android 中的 ViewType?

转载 作者:行者123 更新时间:2023-11-29 18:52:57 37 4
gpt4 key购买 nike

由于 RemoteViewFactory 中没有 getItemViewType() 方法 - 它实际上如何确定 ViewType?

我偶然发现了一个案例,我肯定只有 4 个 View 类型,但不断出现显示错误(“正在加载...”一个项目)和一个日志条目,我将返回比 getViewTypeCount 建议。所以我随机添加了 +1,现在它起作用了。

所以在我看来,实际的 viewType 是由底层的 ListAdapter/AppWidgetHost 猜测的,如果您对 RemoteViews 实例进行大量修改,它会将其检测为新的 viewType...

有人知道实际发生了什么吗?

最佳答案

好的,这是问题的答案(取自 Android sources of RemoteViewsListAdapter ):

for (RemoteViews rv: mRemoteViewsList) {
if (!mViewTypes.contains(rv.getLayoutId())) {
mViewTypes.add(rv.getLayoutId());
}
}
if (mViewTypes.size() > mViewTypeCount || mViewTypeCount < 1) {
throw new RuntimeException("Invalid view type count -- view type count must be >= 1" +
"and must be as large as the total number of distinct view types");
}

因此 Android 使用 LayoutId 作为 viewTypeReference。让我在我的应用程序中做一些研究,但回答了我的问题。

关于android - RemoteViewsFactory 如何处理 Android 中的 ViewType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50524270/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com