【问题标题】:Android how to update list items with a while loop?Android如何使用while循环更新列表项?
【发布时间】:2012-04-08 23:20:23
【问题描述】:

我有一个列表,我只有金额(数字),然后我想创建一个 while 循环来提取列表中的每个项目(或金额),以便能够进行计算,例如将税添加到金额并将这个新金额以与原始列表相同的顺序插入到另一个列表中。

这是我的代码:

final ArrayList<Double> individuallist = new ArrayList<Double>();
final ArrayAdapter<Double> bb;
bb = new ArrayAdapter<Double>(this,android.R.layout.simple_list_item_1 ,individuallist);
listView.setAdapter(bb);

//按钮下一步

    Button next = (Button) findViewById(R.id.btnnext);
    next.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            counter2 = itotal;
            individuallist.add(0, counter2);
            bb.notifyDataSetChanged();
            item1.setText("0");

        }
    });    

itotal 来自编辑文本视图

所以我有另一个按钮,我想在其中创建一个单击事件来执行 while 循环,这样我就可以为每个金额添加税款,将结果以相同的顺序放在另一个列表中,并将其显示在第二个列表视图中,所以我不要修改第一个列表项,这样我可以稍后更改税率,并且每次按下第二个按钮时都可以修改第二个列表并显示更新的第二个列表。

谢谢

【问题讨论】:

  • 您的命名方案与 java 中的变量标准不匹配。理解这个问题还需要您了解适配器的工作原理。
  • 你能给我指出正确的方向吗?

标签: java android list listview while-loop


【解决方案1】:

你可以像这样使用 for 循环轻松做到这一点

for(int i=0;i<alist.size();i++)
{

  int amount=alist.get(i);
  int taxadded=//caclutaions on amount;
  anotherlist.add(taxadded);
}

【讨论】:

  • 这似乎有效,但我得到的新列表的结果是列表中每个项目的数量相同(这个数量是列表中的最后一个)。关于我做错了什么的任何建议?谢谢
  • 您的代码运行良好,但我只是注意到一个小问题,我得到的列表结果与第一个列表的顺序相反,因此从第一个列表中的最后一项计算到第一项,是有没有办法让它从第一个列表中的第一个项目开始并一直工作到最后一个项目?谢谢。
猜你喜欢
  • 1970-01-01
  • 2021-11-02
  • 2020-07-17
  • 2017-03-04
  • 1970-01-01
  • 2021-12-25
  • 2021-10-24
  • 2018-07-19
  • 1970-01-01
相关资源
最近更新 更多