将未知数量的项目添加到我的Android应用程序的对话框中的列表中

时间:2012-04-09 20:08:29

标签: android listview alertdialog

我正在尝试循环访问JSONObject以查看有多少乘客,然后我想在对话窗口中很好地显示它们。看起来有几种方法可以做到这一点,但总的来说我只是对如何去做它感到困惑。这是我得到的最接近的,它可以工作,但你可以看到我只添加一个项目。所以我的alertdialog中只显示了一个项目,应该还有一个项目。我的alertdialog(称为ticketbuilder)是在其他地方创建的,我只是想在这个for循环中添加所有东西。如何将所有乘客添加到列表中以显示?非常感谢提前!

for (int i = 0; i < tickets.length(); i++) {

        final int ticketCount = i;
        JSONObject ticket;
        try {
            ticket = tickets.getJSONObject(ticketCount);
            passengername = ticket.getString("passengername");
            ticketnumber = ticket.getString("ticketnumber");
            CharSequence[] array = {passengername + " \n" + ticketnumber}; 
            ticketBuilder.setItems(array, null); //adding to my dialog

        } catch (JSONException e) {
            System.out.println(e);
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
}

1 个答案:

答案 0 :(得分:1)

尝试将CharSequence放在循环之外并按照以下方式初始化:

CharSequence[] array = new CharSequence[tickets.length()];

然后在循环中向数组添加东西:

array[i] = {passengername + " \n" + ticketnumber};

移动ticketBuilder.setItems,使其在循环之外。