Цикл Java -for повторяет только последнее значение - PullRequest
1 голос
/ 30 марта 2012

У меня есть массив для хранения значения из БД. Если я пытаюсь использовать данные по умолчанию, он работает нормально, но если я получаю значение из БД, отображается только последнее значение.

Данные по умолчанию;

MenuList menu_data [] = new MenuList[]{};
menu_data  = new MenuList[]
{
new MenuList("test","test1") ,      
new MenuList("test","test1") ,  
new MenuList("test","test1") ,  
new MenuList("test","test1") ,  
new MenuList("test","test1") ,  
new MenuList("test","test1") ,  
new MenuList("test","test1") ,  
new MenuList("test","test1") ,  
new MenuList("test","test1") ,  
new MenuList("test","test1") ,  
new MenuList("test","test1") 
};

Значение из БД,

MenuList menu_data [] = new MenuList[]{};
List<Menu> profiles = db.getAllContacts();
for (Menu cn : profiles) {
menu_data  = new MenuList[]
{
new MenuList(cn.getmenuname(), cn.getmenuprice())  
};
}

Как получить все значения из БД.

Ответы [ 3 ]

3 голосов
/ 30 марта 2012

Каждый раз, когда вы проходите цикл, вы создаете новый массив.Следовательно, доступно только последнее значение.Пожалуйста, попробуйте следующее

menu_data  = new MenuList[profiles.size()];

for (int i = 0; i < menu_data.length; i++) {
    Menu cn = profiles.get(i);
    menu_data[i] = new MenuList(cn.getmenuname(), cn.getmenuprice());  
}
2 голосов
/ 30 марта 2012

Попробуйте это:

List<MenuList> menulists = new ArrayList<MenuList>();
for (Menu cn : db.getAllContacts())
    menulists.add(new MenuList(cn.getmenuname(), cn.getmenuprice()));
MenuList[] menu_data = menulists.toArray(new MenuList[0]);
2 голосов
/ 30 марта 2012
List<Menu> profiles = db.getAllContacts();
int numProfiles = profiles.size();
MenuList[] menu_data = new MenuList[numProfiles];
for (int i = 0; i < numProfiles; i++) {
    Menu cn = profiles.get(i);
    menu_data[i] = new MenuList(cn.getmenuname(), cn.getmenuprice());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...