【问题标题】:How to pass arraylist values statically from one class to other in android?如何在android中将arraylist值从一个类静态传递给另一个类?
【发布时间】:2012-01-02 05:36:22
【问题描述】:

我将我的数据存储到一个类的数组列表中,并将该数组列表数据发送到另一个类。但是 arraylist 的值不会出现在其他类中。我给了喜欢

page1.java

static ArrayList<ArrayList<String>> stringList1; 

page2.java

static List<ArrayList<String>> mystringList1 = new ArrayList<ArrayList<String>>();
 mystringList1 = page1.stringList1;

不知道我哪里出错了..但是尝试了很多发送数据..请帮助我解决这个问题...

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以尝试在两个类之间传输值的 getter setter 方法。我认为这对你的项目是最好的。

    例如

    private String myValue; 
    
    public void setValue ( String myValue )
    {
         this.myValue = myValue;
    }
    
    public String getValue()
    {
          return myValue;
    }
    

    【讨论】:

      【解决方案2】:

      将其设为public static,您将能够将您的ArrayList 传递给另一个班级。但是,更好的方法是使用SerializableParcelable 传递它。

      更新

      应用程序类来自文档。

      那些需要维护全局应用程序状态的基类。 您可以通过在您的 AndroidManifest.xml 的标签,这将导致该类 当您的过程为您实例化时 应用程序/包已创建

      其他选项是您可以创建一个扩展 Application 的类,并且您可以在 Application 类中为 ArrayList 使用 getter setterApplication 类可用于您的整个应用程序,您可以使用应用程序上下文在任何地方获取值。

      【讨论】:

      • 您好,感谢您的回复...您能举个例子吗...?
      • @Sweety:使用Application类也不是一个好的解决方案,你应该使用Parcelable ArrayList你可以看到herehere
      • @Sweety Adil 为您提供了示例链接 fpr Serializable & Parcelable,这里的 Application 类是 link
      • 嗨,感谢您的宝贵建议...我犯了一个小错误...即我正在清除另一页中的数组...这就是为什么我无法将数组数据获取到第 2 页类..现在一切正常
      【解决方案3】:

      我想这会帮助你。

      **page1.java**
      
          static ArrayList<ArrayList<String>> stringList1; 
      
          public static ArrayList<ArrayList<String>> getstringList1()
          {
              return stringList1;
          }
      
      **page2.java**
      
          ArrayList<ArrayList<String>> mystringList1  = page1.getstringList1();
      

      【讨论】:

        猜你喜欢
        • 2013-12-10
        • 2021-05-06
        • 2014-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-05
        • 2018-06-12
        • 2018-05-29
        相关资源
        最近更新 更多