我正在尝试从TextViews
中的Listitems
获取值到“总和”并计算总数(val1+val2+...+valn=total)
。
结构:ListView > listItem/RelativeLayout > TextView.
值来自自定义适配器。
*我知道我需要使用迭代器来计算listItem
,并获取值,但我不知道如何调用listview
的行。
答案 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
}