Android 重置步骤计数并从0开始计算步骤

Android 重置步骤计数并从0开始计算步骤,android,android-sensors,Android,Android Sensors,我有一个计步器,可以完美地计算设备传感器的步数。我想在移动到另一个活动时将步骤计数重置为0,并从0而不是之前的步骤计数开始步骤计数 我试图保存我的初始步数,并从当前传感器数据中减去它,但步数没有计算出来,它只显示了0和1 这是我的密码: Activity1.java private String Initial_Count_Key = "FootStepInitialCount"; public View onCreateView(LayoutInflater inflater,

我有一个计步器,可以完美地计算设备传感器的步数。我想在移动到另一个活动时将步骤计数重置为0,并从0而不是之前的步骤计数开始步骤计数

我试图保存我的初始步数,并从当前传感器数据中减去它,但步数没有计算出来,它只显示了0和1

这是我的密码:

Activity1.java 
  private  String Initial_Count_Key = "FootStepInitialCount";  
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
SharedPreferenceManager.singleton().save(Initial_Count_Key,total_step);}
这是我想重置步骤的activity2。我也为它写了一个方法,但我认为我做错了什么

Activity2.java
 private void countStep() {

        mIntialSteps = (SharedPreferenceManager.singleton().getInt("FootStepInitialCount"));
        mUpdatedSteps = StepDetector.CURRENT_SETP - mIntialSteps;
        Log.i("Updated_Steps", String.valueOf(mUpdatedSteps));

        if (mUpdatedSteps % 2 == 0) {
            mStepCountValue = mUpdatedSteps;

        } else {
            mStepCountValue = mUpdatedSteps + 1;
        }

        mStepCountValue = mUpdatedSteps ;

    }

有人能告诉我我做错了什么吗?

因为从您的代码中,我可以看到您正在共享首选项中存储步骤计数。因此,如果你正在进行另一项活动。就在新活动的写作意图之前。在那里将总步数设置为零

SharedReferenceManager.singleton().save(初始计数键,0)


然后进行其他活动。这样,当您返回此活动时,yui将初始化您的UI,即根据此首选项值初始化步骤计数UI

不太清楚您的要求。“它对我不起作用。”你的
countStep
方法很奇怪,你使用一个条件来设置
mStepCountValue
值,然后在
if esle
之后再次设置值。。。ps:您只需执行
mStepCountValue=mUpdatedSteps+mUpdatedSteps%2
@AxelH我知道它看起来很奇怪,但我从github获得了这个方法,它工作正常,所以我使用了它。但现在我遇到了这个步骤重置问题。@GauravTiwari,这段代码只有一个可能的结果:
mStepCountValue=mUpdatedSteps
,在每次计数时检查
mIntialSteps
的值,您可能会以某种方式覆盖或
StepDetector。当前设置p
从未更新(它来自何处?(并将该键设置为public final static,以便在
活动2
中使用)PS:Github不是一个工作代码库,而是一个可以存放任何东西的存储库,无论是否工作。@AxelH我找到了解决方案。谢谢你的指导。