Java 在另一个类中访问arraylist
嗨,我有一个arraylist,我想从另一个类访问,我是android新手,请尝试用一种简单的方式解释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()
//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
的调用方不会更改列表的内容,请返回列表的副本。看见