Android创建静态ArrayList

Android创建静态ArrayList,android,arraylist,static,Android,Arraylist,Static,我正试图从我的android应用程序中删除arrayList中的值,但它们不断出现 我的arrayList在一个单独的类中, 在我的主活动中,我创建了该类的一个实例,并从数组中删除了一个值。 我退出主活动并返回重新出现的值 我的问题是,我怎样才能创建数组类的某种静态实例 //ArrayClass public class ArrayClass { public final static ArrayList<String> words = new ArrayList<St

我正试图从我的android应用程序中删除arrayList中的值,但它们不断出现

我的arrayList在一个单独的类中, 在我的主活动中,我创建了该类的一个实例,并从数组中删除了一个值。 我退出主活动并返回重新出现的值

我的问题是,我怎样才能创建数组类的某种静态实例

 //ArrayClass
 public class ArrayClass {

 public final static ArrayList<String> words = new ArrayList<String>();

 public ArrayClass() {
    words.add("WORD");
    words.add("WORD");
    words.add("WORD");
 }

 //Main Class
 ArrayClass wordc = new ArrayClass();

 @Override
 protected void onCreate(Bundle savedInstanceState) {   
      wordc.removeWord(0);
 }
//ArrayClass
公共类数组类{
public final static ArrayList words=new ArrayList();
公共ArrayClass(){
词语。添加(“词语”);
词语。添加(“词语”);
词语。添加(“词语”);
}
//主类
ArrayClass wordc=新的ArrayClass();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
字c.删除字(0);
}

我可能对您正在做的事情感到困惑,但是要访问
静态数组
您不想创建类的实例。每次您这样做时,您都在运行构造函数,在示例代码中,构造函数每次都用3个值填充
静态数组

我看不出你到底想完成什么,所以也许你可以解释得更清楚一点,但我猜这并不是你想要你的构造函数做的。我想你想静态地访问
数组
本身

 //Main Class
 ArrayClass wordc = new ArrayClass(); 

 @Override
 protected void onCreate(Bundle savedInstanceState) {   
      wordc.removeWord(0);  //don't need this
      ArrayClass.words.remove(0);  // would remove the element at index 0
 }
但这仍然不能解决您的问题。您需要在
ArrayClass
类中使用一个方法,将项添加到
Array
中。在构造函数中执行此操作将在每次创建类的新实例时添加这些项


如果这不能回答您的问题,那么您可以更好地解释您的作业。

您尝试过单例模式吗?您将有一个ArrayClass的静态引用,并且它的内部状态不会被活动生命周期违反

public class ArrayClass {
     private static ArrayClass instance;
     public static ArrayClass getInstance() {
         if(instance == null) instance = new ArrayClass();
         return instance;
     }
//...rest goes as is.

Orest是正确的,您确实需要单例模式,但请记住,当您访问类的方法时,始终需要使用getInstance()方法

例如,类中的方法:

public String getWord(index i) {
     .......
}
应按如下方式静态调用

ArrayClass.getInstance().getWord(i);
不是这样的

wordc.getWord(i);

这保证了只有一个实例(因此是单实例)对不起,关于混乱的问题,我需要把数组的状态从应用程序的生命周期中排除出来,所以当我回到主程序时,数组的实例和我离开时的状态是一样的…谢谢你的回答!这应该是可接受的答案。所有这些单单的答案都是可怕的。这不是C++的人,把单身者留在哪里。他们是属于他们的。+1是最好的回应。迈克,我试试看:)