Java 在另一个类中访问arraylist

Java 在另一个类中访问arraylist,java,android,arraylist,Java,Android,Arraylist,嗨,我有一个arraylist,我想从另一个类访问,我是android新手,请尝试用一种简单的方式解释 //Adding item to ArrayList Cursor cursor2=shoppingListDB.rawQuery("SELECT * FROM " + selected_spinner + ";", null); if (cursor2.moveToFirst()){ list.clear()

嗨,我有一个arraylist,我想从另一个类访问,我是android新手,请尝试用一种简单的方式解释

//Adding item to ArrayList
            Cursor cursor2=shoppingListDB.rawQuery("SELECT * FROM " + selected_spinner + ";", null);

            if  (cursor2.moveToFirst()){
                list.clear();
                do{
                    String itemName = cursor2.getString(cursor2.getColumnIndex("ITEM_NAME"));
                    String shopList = cursor2.getString(cursor2.getColumnIndex("SHOP_LIST"));
                    String numbItems = cursor2.getString(cursor2.getColumnIndex("NUMB_ITEMS"));

                   //Adding Items to the arraylist
                    list.add(numbItems + " x"+ " " +itemName + " " + "@"+shopList);
                }
                while (cursor2.moveToNext());


                //====CODE FOR SHOWING DATA AS A SIMPLE LIST ITEM=========================================
                view_list = (ListView)findViewById(R.id.listItems);
                ArrayAdapter <String> adapter=new ArrayAdapter<String>(CreateList.this,android.R.layout.simple_list_item_1,list);
                view_list.setAdapter(adapter);
            }
            else{
                Toast.makeText(getApplicationContext(), "DATA NOT AVAILABLE", 3000).show();
            }
            cursor2.close();
//将项添加到ArrayList
游标游标游标2=shoppingListDB.rawQuery(“SELECT*FROM”+selected_spinner+“;”,null);
if(cursor2.moveToFirst()){
list.clear();
做{
String itemName=cursor2.getString(cursor2.getColumnIndex(“ITEM_NAME”));
String shopList=cursor2.getString(cursor2.getColumnIndex(“SHOP_LIST”);
String numbItems=cursor2.getString(cursor2.getColumnIndex(“NUMB_ITEMS”);
//向arraylist添加项
list.add(numbItems+“x”+“+itemName+”+“+”@“+shopList);
}
while(cursor2.moveToNext());
//==用于将数据显示为简单列表项的代码=========================================
视图\列表=(ListView)findViewById(R.id.listItems);
ArrayAdapter=newArrayAdapter(CreateList.this,android.R.layout.simple\u list\u item\u 1,list);
查看列表。设置适配器(适配器);
}
否则{
Toast.makeText(getApplicationContext(),“数据不可用”,3000).show();
}
游标2.close();

我认为您应该使用基本的OOP概念

在类中,可以将列表声明为类实例变量,并使用getter方法在其他类中获取列表

public class abcd {
   private List<String> list;


   public List<String> getList() {
      return list;
   }

   //your code which uses list

}
公共类{ 私人名单; 公共列表getList(){ 退货清单; } //使用列表的代码 }
希望这能对您有所帮助。

您应该澄清这个问题,但看起来您只需要通过属性访问器方法公开
列表
,例如,
public List getItems()
@alphazero,从上面的代码中我可以在哪里放置“public List getItems()”?请参阅下面的@aksdch11答案。如果您希望确保“访问者方法”
getList
的调用方不会更改列表的内容,请返回列表的副本。看见