Android活动一开始不会加载项目



在我的应用程序中,我有一个空的活动和加号按钮,它打开新的活动,我在其中键入一些标题和一些文本字段,然后保存。当我保存时,该项目将添加到1中。活动,但未显示。我需要去参加一些其他活动,当我回来的时候,它就满了。添加后的第二个项目也是如此,但在有两个或更多项目后,它总是加载所有项目,我不使用SyncTask,我只是从数据库加载数据。有人知道问题出在哪里吗?是否有任何itemView.function((可以重新加载活动中的所有项?

您可以使用LiveData来实现这一点,并在主活动中观察它。我假设您的数据库和MVVM体系结构使用ROOM库。这是我的项目中的例子。

public LiveData<List<Todo>> getAllTodo() {
return allTodo;
} //This is from my ViewModel class.

我从我的主要活动中观察到

viewModel = new ViewModelProvider(this).get(ViewModel.class);
viewModel.getAllTodo().observe(this, new Observer<List<Todo>>() {
@Override
public void onChanged(List<Todo> todos) {
todoAdapter.setTodos(todos);
}
});

问题是我的包含RecyclerView的xml文件被设置为包装内容,所以我更改了

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/card_gallery"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:padding="2dp"
tools:listitem="@layout/card_item">
</androidx.recyclerview.widget.RecyclerView>

android:layout_width="match_parent"
android:layout_height="match_parent"

最新更新