打了一个路障,想知道如何解决它,看起来像鸡蛋和鸡蛋对我来说,可以做一双新鲜的眼睛.
我有一个数据库,里面有关于其中的地方的信息.我想在RecyclerView中显示按距离排序的所有地方.
当只有一个viewType时,我实际上已经完成了这个.然而,这是我无法弄清楚的,我想要为距离用户一定距离的地方显示不同的视图.所以在100米以内.
该信息在我的数据库中,所以当在setAdapter()上调用getItemViewType(int position)时,我的CursorLoader还没有完成所有信息的提取,所以我得到一个空指针异常.
我的问题:
有没有办法让我等待我的CursorLoader完成然后使用我的适配器,而不是一个空的光标?当我尝试在加载器完成后调用.setAdapter()时,我在日志中得到以下内容:没有连接适配器;跳过布局,因为RecyclerView需要在创建活动时设置适配器.
我的getItemViewType(position)目前看起来像这样:
if (!cursor.isClosed()) {
cursor.moveToPosition(position);
}
if (cursor.getInt(2) <= 100) {
return TYPE_NEARBY;
} else {
return TYPE_NOT_NEARBY;
}
基本上我需要使用CursorLoader中的数据来确定viewType并为该单元格加载不同的视图.使用一个ViewType它可以工作,因为我不需要检查距离,它们都是相同的视图.
谢谢你尽你所能的帮助!