我有一个计步器可以完美地计算设备传感器的步数。我想在移动到另一个活动时将步骤计数重置为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);}
这是我的活动2,我想重置我的步骤。我也为它写了一个方法,但我认为我做错了。
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 ;
}
有人能告诉我我做错了吗?
答案 0 :(得分:0)
从您的代码中我可以看到您在共享首选项中存储步骤计数。所以如果你要转移到另一个活动。就在为新活动写下意图之前。将总步数设为零
SharedPreferenceManager.singleton()保存(Initial_Count_Key,0);
然后转到其他活动。这样,当您回到此活动时,yui将初始化您的UI,即您的步数UI来自此首选项值