【问题标题】:ArrayList data sharing between java class [duplicate]java类之间的ArrayList数据共享[重复]
【发布时间】:2021-10-16 18:38:33
【问题描述】:

我已从 Firebase 获取数据到 Dashboard (Fragment) Main 类,现在我需要将同一个 ArrayList 访问到另一个 Fragment 类。我如何在两个类之间共享数组列表。

我的仪表板类代码:

private void GetCategory() {


    DatabaseReference db = FirebaseDatabase.getInstance().getReference("Category");
    db.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for (DataSnapshot userSnapshot : dataSnapshot.getChildren()) {
                Catergory_List cl = userSnapshot.getValue(Catergory_List.class);
                CatList.add(cl);

            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            throw databaseError.toException();
        }
    });
}

我的第二课

private Dashboard db;
            TExpenses= db.TrasactionExpenses();
        System.out.println(TExpenses.size());

我尝试了这段代码,但它不起作用

  public List<Catergory_List> TrasactionExpenses() {
        return CatList;
    }

错误日志

 java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List Dashboard.TrasactionExpenses()' on a null object reference

任何帮助将不胜感激..我无法将值从仪表板类 ArrayList 获取到 B 类

【问题讨论】:

  • 你在哪里定义CatList
  • 你在哪里设置你的Dashboard 实例在你的第二类?您的所有代码显示的是您声明了 db 变量而不给它赋值,然后获得一个空指针异常来调用它的方法。
  • 私人名单 CatList;在 Dashboard 类和 onCreate viewCatList = new ArrayList();
  • 是的,但 Dashboard 变量是 null,而不是 CatList
  • 在 Dashboard CatList 下能够获取数据,但是当我进入 b 类时它不起作用,我尝试在 onCreateView Dashboard db=new Dashboard();还是没有

标签: java arraylist java-8


【解决方案1】:

这很正常,你没有初始化你的仪表盘!

【讨论】:

    【解决方案2】:

    我不确定 Dashboard 的构造函数是什么样的,但您需要初始化 Dashboard 对象。您只声明了仪表板db。 (有关初始化、实例化和声明,请参见第一个答案Difference between initializing a class and instantiating an object?

    您需要执行以下操作:

    Dashboard db = new Dashboard();
    

    在你的第二节课。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 2014-01-28
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多