我有一個菜單結構,用於輸出收藏夾配置項的列表。將ArrayList中的字符串對象轉換爲Array數組
在視圖示例中的Android SDK中,有一個我希望使用的視圖示例,稱爲ExpandableList1.java。 爲了使用該視圖,我必須通過String[] groups
結構和String[][] children
結構。
我沒有問題使用groups.toArray
將菜單對象中的字符串列表轉換爲數組。我的問題是將收藏夾項目轉換爲數組數組。最喜歡的項目是包含在菜單對象中的數組列表。
代碼的相關部分粘貼在這裏。首先,我們稱之爲MyExpandableListAdapter與字符串數組:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ArrayList<String> favouriteMenuList = Main.menuList.getFavouriteMenusFullPath();
mAdapter = new MyExpandableListAdapter(favouriteMenuList);
setListAdapter(mAdapter);
registerForContextMenu(getExpandableListView());
}
下一頁MyExpandableListAdapter,它的構造是展示其中數組轉換情況:
public class MyExpandableListAdapter extends BaseExpandableListAdapter {
// Sample data set. children[i] contains the children (String[]) for groups[i].
// private String[] groups = { "People Names", "Dog Names", "Cat Names", "Fish Names" };
private String [] groups;
private String[][] children = {
{ "Arnold", "Barry", "Chuck", "David" },
{ "Ace", "Bandit", "Cha-Cha", "Deuce" },
{ "Fluffy", "Snuggles" },
{ "Goldy", "Bubbles" }
};
public MyExpandableListAdapter(ArrayList<String> groups) {
this.groups = groups.toArray(new String[groups.size()]);
}
正如你可以在上面的代碼中看到的片斷是沒有問題的轉換爲String[] groups
。我的想法是迭代菜單對象,提取收藏夾列表,然後?我將如何在Java中構建一個動態數組,因爲數組大小如此固定。
這裏是外環我心目中:
public ArrayList<FavouritesObject> getFavouriteItems() {
ArrayList<FavouritesObject> favouritesList = new ArrayList<FavouritesObject>();
for (MenuObject m : allMenusList) {
if (m.isFavourite) {
favouritesList.add(m.getFavouriteItems());
}
}
return favouritesList;
}
使用列表清單,然後迭代列表並使用'toArray'? – 2011-03-17 09:09:38
由於性能原因,數組的大小最好是固定大小,那麼計算數組的大小,創建數組的大小,然後向它添加子數組不是很好嗎? – 2011-03-17 09:10:17
不相關。 @Eugene van der Merwe,既然你擁有Snowball.co.za,你能否爲java應用程序提供託管服務?最好是GlassFish,Tomcat,JBoss? – 2011-03-17 09:11:20