Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在listview上实现减法_Java_Android - Fatal编程技术网

Java 在listview上实现减法

Java 在listview上实现减法,java,android,Java,Android,嗨,我是这一页的新手 我正在开发一个应用程序,在android上,我有一个列表视图来填充一个数字列表,在一列中我有项目的值。我可以将它们添加到变量total中并求和,我在listview上使用onItemClick事件,为了删除行,我想从total变量中删除行值 如果我的值是8903,那么总数是101,但是如果我删除了行id为1的值90,那么我如何从总数中删除它,并将新总数设置为11,这是从减法中剩下的新总数 我可以实现一个解决方案,但如果我输入两个值,它只会减去值。这给了我一个错误我的实现:

嗨,我是这一页的新手

我正在开发一个应用程序,在android上,我有一个列表视图来填充一个数字列表,在一列中我有项目的值。我可以将它们添加到变量total中并求和,我在listview上使用onItemClick事件,为了删除行,我想从total变量中删除行值

如果我的值是8903,那么总数是101,但是如果我删除了行id为1的值90,那么我如何从总数中删除它,并将新总数设置为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();

             }

         });
mListView.setOnItemClickListener(新的OnItemClickListener(){
公共视图单击(适配器视图a、视图v、内部位置、长id){
int k=(int)id;
列表控件;
数据控制=数据;
用于(数据dt:dcontrol){
residuo=Integer.parseInt(dt.getY());
}
结果编号=结果编号-剩余值;
系统输出打印项次(结果编号);
updateTextField();
sh.deleteCloudPrint(data.remove(k));
mAdapter.notifyDataSetChanged();
}
});

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

ArrayAdapter<String> a2 = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, android.R.id.text1, al);
ArrayAdapter a2=新的ArrayAdapter(这个,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;
                                                } 
                                            }
                                        );
listView.setAdapter(a2);
setOnItemClickListener(新的OnItemClickListener()
{
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3)
{
字符串s1;
s1=(字符串)((文本视图)arg1.getText();
int value=Integer.parseInt(s1);
总=总价值;
} 
}
);

希望这段代码对您有用。

如果我没记错,您正在TextView上显示数字,对吗?是的,我使用了一个函数:updateTextfield(inTotal.setText(symbol+String.valueOf(resultNumber))请提供您的完整代码,以便我能尽快帮助您。我可以实现一个解决方案,但如果我输入两个值,它只会对值进行减法。它在这里给了我一个错误我的实现:int k=(int)id;List dcontrol;dcontrol=data;for(data dt:dcontrol){residuo=Integer.parseInt(dt.getY());}resultNumber=resultNumber-residuo;System.out.println(resultNumber);updateextfield();