在我的活动中,有两个按钮:一个用于向ListView添加项目,ListView由EditText(用户输入十进制数字)和另一个(将开始计算)形成。目标是计算在EditTexts中输入的数字的平均值,具体取决于添加到ListView的项目数。
我有以下代码,我想我可能会创建子项的数量,然后将孩子的添加分开,但我已经阅读了很多类似的例子,我不知道该怎么做。
以下是代码:
void addNumberFromText()
{
double total=0;
for(int i=0;i<MarkListView.getChildCount();i++)
{
View wantedView = MarkListView.getChildAt(i);
markresult = (TextView)wantedView.findViewById(R.id.subjectmark);
double value=Double.parseDouble(markresult.getText().toString());
total+=value;
}
markresult1 = (TextView)findViewById(R.id.average);
markresult1.setText(Double.toString(total));
markresult1.setText(String.format("%.2f", total));
}
感谢您的帮助,谢谢!
答案 0 :(得分:1)
我有解决方案!我补充说:averagevalue = total / MarkListView.getChildCount();这是孩子的数量。
void addNumberFromText()
{
double total=0;
double averagevalue=0;
for(int i=0;i<MarkListView.getChildCount();i++)
{
View wantedView = MarkListView.getChildAt(i);
markresult = (TextView)wantedView.findViewById(R.id.subjectmark);
double value=Double.parseDouble(markresult.getText().toString());
total+=value;
averagevalue=total/MarkListView.getChildCount();
}
markresult1 = (TextView)findViewById(R.id.average);
markresult1.setText(Double.toString(averagevalue));
markresult1.setText(String.format("%.2f", averagevalue));
感谢您的回复,所有内容都相似且正确。谢谢!
答案 1 :(得分:0)
从您的代码中,您似乎没有像您说的那样计算平均值。您计算了总数,但忘记通过将总数除以总列表项来计算平均值。希望能帮助到你。