如何在第一个活动中更新回收站视图,同时更改其他活动中的数据?

Posted

技术标签:

【中文标题】如何在第一个活动中更新回收站视图,同时更改其他活动中的数据?【英文标题】:How to update recycler view in first activity while changing data in other activity? 【发布时间】:2021-04-26 05:14:35 【问题描述】:

我正在尝试使用 sqlite 创建一个 todolist 应用程序。我在主要活动和其他活动中创建了一个回收站视图来添加一个新的待办事项。但是当我添加 todo 时,我想刷新回收站视图,我该怎么做? 请帮忙


视频 - https://i.imgur.com/iYgqBYN.mp4

【问题讨论】:

【参考方案1】:

将代码放置在 onResume() 方法中的回收站视图中获取和设置数据的位置。因此,每当您向数据库添加新项目并返回之前的活动时,它都会再次获取新数据。

【讨论】:

【参考方案2】:

在扩展 RecyclerView.Adapter 的 适配器类 中,您应该创建 Todo 对象的 ArrayList。适配器类还应该包含添加 Todos 的方法,例如

ArrayList<Todo> todos = new ArrayList()<>;
public void addNewTodo(Todo newTodo) 
        todos.add(todo); // add new todo
        notifyDataSetChanged(); // update RecyclerView
    

然后在您的 other(非主)Activity 中,您可以通过您的 Adapter 类调用此公共方法:

private MyAdapter adapter;
private Todo newTodo;
adapter = new MyAdapter(...);
recyclerView.setLayoutManager(new LinearLayoutManager(ctx));
        recyclerView.setAdapter(adapter);

newTodo = createTodo(); // Initialize your Todo object
adapter.addNewTodo(newTodo); // Add new todo and update RecyclerView

【讨论】:

以上是关于如何在第一个活动中更新回收站视图,同时更改其他活动中的数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在视图绑定中的活动中获取回收者视图当前项目文本值

回收站视图仅在我从房间数据库中删除后重新打开活动时更新

在不重新加载活动的情况下更新回收站视图中的内容

为recyclerview更新帖子的评论数

如何在主要活动中使用按钮 onclicklistener 进行回收视图项目

如何从回收站视图 android 中传递一个 url onclick 项目并 onclick 获取位置 dipaly 在另一个活动中的 url