Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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中找到每行值的总和(行是使用arrayList.add()添加的)_Java_Android_Listview - Fatal编程技术网

Java 如何在ListView中找到每行值的总和(行是使用arrayList.add()添加的)

Java 如何在ListView中找到每行值的总和(行是使用arrayList.add()添加的),java,android,listview,Java,Android,Listview,我是Android Studio的初学者,这就是为什么我需要一点帮助:D 我有一个小项目,计算每个选定产品的总和 该页面包含两个列表视图。。。第一个包含所有产品,另一个包含所选产品的价格 这是我的密码: import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterVi

我是Android Studio的初学者,这就是为什么我需要一点帮助:D

我有一个小项目,计算每个选定产品的总和

该页面包含两个列表视图。。。第一个包含所有产品,另一个包含所选产品的价格

这是我的密码:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;

public class DisplayProduct extends Activity {
    ListView listViewOrder;
    ArrayList<String> arrayList;
    ArrayAdapter<String> adapter;


    @Override
    protected void onCreate(Bundle savedInstanceState)  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_product);
        BackgroundTask bTask = new BackgroundTask(this);
        bTask.execute("get_info");

        listViewOrder = (ListView)findViewById(R.id.display_listviewAdded);

        arrayList = new ArrayList<String>();
        adapter = new ArrayAdapter<String>(DisplayProduct.this,android.R.layout.simple_list_item_1, arrayList);
        listViewOrder.setAdapter(adapter);

        ListView lvProductList = (ListView)findViewById(R.id.display_listview);
        lvProductList.setClickable(true);

        lvProductList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                TextView tv = (TextView) view.findViewById(R.id.tvProd_price);
                String text = tv.getText().toString();
                arrayList.add(text);
                adapter.notifyDataSetChanged();
            }
        });
    }

}
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
导入java.util.ArrayList;
公共类DisplayProduct扩展了活动{
ListView listViewOrder;
ArrayList ArrayList;
阵列适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u display\u product);
BackgroundTask bTask=新的BackgroundTask(本);
执行任务(“获取信息”);
listViewOrder=(ListView)findViewById(R.id.display\u listviewAdded);
arrayList=新的arrayList();
adapter=new ArrayAdapter(DisplayProduct.this,android.R.layout.simple\u list\u item\u 1,arrayList);
setAdapter(适配器);
ListView lvProductList=(ListView)findViewById(R.id.display\u ListView);
lvProductList.setClickable(真);
lvProductList.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
TextView tv=(TextView)view.findViewById(R.id.tvProd_price);
String text=tv.getText().toString();
添加(文本);
adapter.notifyDataSetChanged();
}
});
}
}
我的问题是。。。我真的不知道如何使用onClick按钮来查找总价格

如果你能给我提供一个示例代码,我将非常感激。
谢谢你。

< P>你应该考虑使用你自己的模型来存储你的数据并填充 ListVIEW ,而不是从你的<代码>文本视图< />代码中获取<代码>字符串Value>。创建如下内容:

public class MyObject {

    private String title;
    private float price;
    private String category;

}
float total = 0;
for(int i = 0; i < myList.size(); i++){
    MyObject myObject = myList.get(i);
    total += myObject.getPrice(); // create getter in your MyObject class
}

Log.d("TAG", "Total price is: " + total);
之后,为您的
列表视图创建自定义适配器,它将获取您的
MyObject的列表并填充它

在onClick方法的最后,您可以制作如下内容:

public class MyObject {

    private String title;
    private float price;
    private String category;

}
float total = 0;
for(int i = 0; i < myList.size(); i++){
    MyObject myObject = myList.get(i);
    total += myObject.getPrice(); // create getter in your MyObject class
}

Log.d("TAG", "Total price is: " + total);
float-total=0;
对于(int i=0;i
相信我,这样做你会学到一些基本的东西,你需要在每个项目中创造这些东西!试着去做,如果你有任何问题,尽管问


希望这有帮助

> P>你应该考虑使用你自己的模型来存储你的数据并填充 ListVIEW ,而不是从你的代码>文本视图< /代码>中获取<代码>字符串< /代码>值。创建如下内容:

public class MyObject {

    private String title;
    private float price;
    private String category;

}
float total = 0;
for(int i = 0; i < myList.size(); i++){
    MyObject myObject = myList.get(i);
    total += myObject.getPrice(); // create getter in your MyObject class
}

Log.d("TAG", "Total price is: " + total);
之后,为您的
列表视图创建自定义适配器,它将获取您的
MyObject的列表并填充它

在onClick方法的最后,您可以制作如下内容:

public class MyObject {

    private String title;
    private float price;
    private String category;

}
float total = 0;
for(int i = 0; i < myList.size(); i++){
    MyObject myObject = myList.get(i);
    total += myObject.getPrice(); // create getter in your MyObject class
}

Log.d("TAG", "Total price is: " + total);
float-total=0;
对于(int i=0;i
相信我,这样做你会学到一些基本的东西,你需要在每个项目中创造这些东西!试着去做,如果你有任何问题,尽管问


希望这有帮助

您有错误的命名约定,哪个列表视图适用于价格selected@Idee我将其命名为ListViewOrder您有错误的命名约定,哪个列表视图用于价格selected@Idee我把它命名为ListViewOrder非常感谢先生!非常感谢,先生!