android - E/RecyclerView:没有附加适配器;使用 Firebase 数据创建回收站视图时跳过布局
问题描述
通过我的发现,我相信问题可能出在 getActivity() 上,但我一遍又一遍地遇到同样的错误。
我认为这一切都来自使用活动和片段。如果有人对此问题有任何建议,我将非常感谢您的帮助!
// Recycler View
private DatabaseReference mDatabase;
private FirebaseUser mUser;
private List<UserHabits> mUserHabitsList;
private RecyclerView mRecyclerView;
private String uID;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab1_habits_fragment, container,false);
// Recycler View
mRecyclerView = view.findViewById(R.id.recycler_view_habits);
//LinearLayoutManager manager = new LinearLayoutManager(getActivity());
mRecyclerView.setHasFixedSize(true);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(container.getContext());
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
prepareUserHabitsData();
mUser = FirebaseAuth.getInstance().getCurrentUser();
if (mUser != null) {
uID = mUser.getUid();
Log.i("USER ID", uID);
}
mDatabase = FirebaseDatabase.getInstance().getReference("users");
return view;
}
private void prepareUserHabitsData() {
new GetDataFromFirebase().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
// Read From Database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("users");
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
mUserHabitsList = new ArrayList<>();
for (DataSnapshot habitsSnapshot: dataSnapshot.getChildren()) {
String habitName = (String) habitsSnapshot.child("GbovxRp2QrW4wV1KSI8nfTjJwpW2").child("Test").getValue();
UserHabits userHabits = new UserHabits(habitName);
mUserHabitsList.add(userHabits);
}
mRecyclerView.setAdapter(new HabitsAdapter(mUserHabitsList));
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.i("ERROR", "FAILED TO READ VALUE");
}
});
}
解决方案
推荐阅读
- amcharts - 如何更改 AM 条形图中图例的颜色?
- c - 如何在 STM32L476 LCD 显示屏上显示内容
- javascript - 从子组件更新数组内的状态对象
- c# - 获取 Power BI 仪表板列表 - 403 Forbidden
- google-chrome-extension - chrome.notifications.create(msgID, msg) 未在 Windows 操作系统上显示多条消息
- android - 外部类对象未从 Kotlin 中的内部类更新
- jquery - 如何将元素添加为文章元素的最后一个子元素
- php - 如何解决 mysql 问题与 sql_mode=only_full_group_by 不兼容
- ios - 在 Xcode 中出现错误,在构建和归档期间没有使用 libReactNativeLocalization.a 找到此类文件或目录
- python - 如何从嵌套字典中打印多个值?