【问题标题】: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

【问题讨论】:

    标签: android sqlite android-recyclerview


    【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-25
        • 2023-04-02
        • 2019-04-05
        • 2019-12-31
        • 2011-08-24
        相关资源
        最近更新 更多