从另一个类更新类中的字段

时间:2014-08-05 10:31:02

标签: android android-activity android-listview

我在尝试重新更新其他活动中的textview时遇到了一些麻烦。我正在制作卡路里计算器应用程序。我有一个textview来显示总卡路里。它是setText,在main中使用for循环:

for(int i = 0; i < backCal.size(); i++){
    sum += backCal.get(i);
}
totalcalories.setText(""+sum);

每当用户交替使用不同的成分时,我希望此总和重新计算替换成分auto的给定卡路里。

无需用户点击按钮。 替代成分的代码位于自定义列表视图类

alternate.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick (View arg0) {
        // TODO Auto-generated method stub
        //
        if (x == 1) {

            alternate.setText("Bck");

            String a = AltIngredients.get(position);
            String b = "" + calA.get(position);
            ingredients1.setText("" + a);
            cal1.setText("" + b);

            x--;

        } else {

            alternate.setText("Alt");

            String a = ingredients.get(position);
            String b = "" + cal.get(position);
            ingredients1.setText("" + a);
            cal1.setText("" + b);
            x++;
        }
    }
});

} else {
    alternate.setEnabled(false);
}

return rowView1;

每次用户交替回到之前的成分时,总卡路里应该更新。

所以最初如果是200卡路里的鸡肉,鸡蛋50cal,总cal应该是250,如果改为蔬菜,100cal,它将变为150cal。只是一个例子。做进一步的建议。

1 个答案:

答案 0 :(得分:0)

我不清楚这个问题,我会尝试解决这个问题。 您需要根据用户选择的成分来显示总卡路里吗? 用户可以从列表视图中选择成分,然后我们必须重新计算值..

简单步骤

  • 您需要将所选成分存储在列表中
  • 编写一种方法来计算和显示所选的总卡路里 配料。
  • 每当用户选择或取消选择任何成分更新时 列表并调用方法来计算和显示。

如果有多个活动,请使用共享偏好或额外意图来传递成分列表,并调用该方法来计算onresume活动方法中的卡路里,以便每次显示卡路里显示活动时都会更新

希望它能给你一些想法...