我试图从TextViews
中的Listitems
中获得“求和”并计算总计(val1+val2+...+valn=total)
。如何计算在ListItems上的textviews中的值的“总和”
结构:ListView > listItem/RelativeLayout > TextView.
这些值来自自定义适配器。 *我知道我需要使用迭代器来计算listItem
,并获得值,但我不知道如何调用listview
的行。
我试图从TextViews
中的Listitems
中获得“求和”并计算总计(val1+val2+...+valn=total)
。如何计算在ListItems上的textviews中的值的“总和”
结构:ListView > listItem/RelativeLayout > TextView.
这些值来自自定义适配器。 *我知道我需要使用迭代器来计算listItem
,并获得值,但我不知道如何调用listview
的行。
由于ListView上的textView被回收,这意味着大部分/全部都是用户看到的,所以不能使用它们。
执行此操作的最佳方法是对正在使用的数据执行计算。
您可以通过调用适配器并排队每个索引来访问列表视图的行。 假设 “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
}
丑陋,但它的作品...
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;
}
你为什么不从自定义适配器获得价值? – Chitrang 2014-11-08 18:01:43
我会尝试一下,谢谢。 – oldkefka 2014-11-08 18:27:44
...这比从字符串转换为数字更快。 – 2014-11-08 18:32:50