【问题标题】:Updating a field in a class from another class从另一个类更新一个类中的字段
【发布时间】:2014-08-05 10:31:01
【问题描述】:

我在尝试重新更新另一个活动中的文本视图时遇到了一些问题。我正在制作一个卡路里计算器应用程序。我有一个文本视图来显示总卡路里。它是 setText 在 main 中使用 for 循环:

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

每次用户更换不同的成分时,我希望这个总和重新计算替换成分自动的给定卡路里。

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

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 卡路里的鸡肉,鸡蛋 50 卡路里,总卡路里应该是 250,如果更改为 100 卡路里的蔬菜,它将变为 150 卡路里。只是一个例子。再给我一些建议。

【问题讨论】:

  • 到底是什么问题?

标签: android android-activity android-listview


【解决方案1】:

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

简单的步骤

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

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

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

【讨论】:

  • 是的,谢谢你的建议。我明白了。我不太擅长 android,所以无法更好地解释它。
  • @user3884188 不要把它当回事 -ve 投票,它总是会发生,发布一两个问题后会变得更好.. 欢呼快乐发展:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-28
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多