如何计算"总和" ListItems上的textviews值

时间:2014-11-08 17:54:05

标签: java android android-listview

我正在尝试从TextViews中的Listitems获取值到“总和”并计算总数(val1+val2+...+valn=total)

结构:ListView > listItem/RelativeLayout > TextView. 值来自自定义适配器。

*我知道我需要使用迭代器来计算listItem,并获取值,但我不知道如何调用listview的行。

3 个答案:

答案 0 :(得分:1)

由于ListView上的textViews被回收,这意味着它们中的大部分/全部都是用户看到的内容,因此您无法使用它们。

最好的方法是对正在使用的数据进行计算。

答案 1 :(得分:1)

丑陋,但它有效......

private int sumMyIntValues(ListView myList) {
    int sum=0;
    for (int i = 0; i < myList.getCount(); i++) {
        View v = myList.getChildAt(i);
        TextView myView = (TextView) v.findViewById(R.id.myView);
        sum = sum + Integer.parseInt( myView.getText().toString() )
    }
    return sum;
}

答案 2 :(得分:0)

您可以通过调用适配器并对每个索引进行排队来访问列表视图的行。 假设“myList”是您的列表:

for (int i = 0; i < myList.getCount(); i++){
    View v = myList.getAdapter().getView(i, null, null);
    TextView txt = v.findViewById(  *idOfYourTextView*   );
    //Do something with the text

}      

参考:Iterate through ListView and get EditText-Field values