在listview上实现减法

时间:2013-05-02 16:48:23

标签: java android

嗨,我是这个页面上的新人。

我正在开发一个应用程序,在android上,我有一个列表视图,填充一个数字列表,在一列我有项目的价值。我可以添加它们并将它们总计为变量总和,我在listview上使用onItemClick事件,按照删除行的顺序,我想从总变量中删除行值,例如。

如果我的值为8 90 3,则总数为101,但是如果我删除值为90的行id 1,我如何从总计中删除它并将新总数设置为11,即新的总计左数来自减法。

我可以实现一个解决方案,但它只会减去值,如果我输入两个值,它在我的实现中给了我一个错误:

 mListView.setOnItemClickListener(new OnItemClickListener() {
         public void onItemClick(AdapterView<?> a, View v, int position, long id) {


             int k = (int) id;

             List<Data> dcontrol;
             dcontrol = data; 

             for(Data dt: dcontrol){
                residuo = Integer.parseInt(dt.getY());
               }

             resultNumber = resultNumber - residuo; 
             System.out.println(resultNumber);

             updateTextField();


             sh.deleteCloudPrint(data.remove(k));

             mAdapter.notifyDataSetChanged();

             }

         });

1 个答案:

答案 0 :(得分:0)

如果你的适配器看起来像:

ArrayAdapter<String> a2 = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, android.R.id.text1, al);

然后你可以试试这个:

listView.setAdapter(a2);
        listView.setOnItemClickListener(new OnItemClickListener() 
                                            {
                                                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) 
                                                {
                                                    String s1;
                                                    s1 = (String) ((TextView)arg1).getText();

                                                    int value = Integer.parseInt(s1);

                                                    total = total - value;
                                                } 
                                            }
                                        );

希望此代码适合您。