重置Android计步器 [英] Resetting Android step counter

查看:195
本文介绍了重置Android计步器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在点击按钮时重置android步数计数器.我知道在激活传感器的情况下,该值会一直增加,而不会重新设置为零,直到系统重新启动为止.

I need to reset the android step counter on button click. I know while the sensor is activated, the value will keep increasing without resetting to zero until the system is rebooted.

我已经尝试过了,但是它只显示0;

I have tried this but it only displays 0;

SharedPreferences prefs = getActivity().getSharedPreferences(MY_PREFS, MODE_PRIVATE);
        stepsAtReset = prefs.getInt("stepsAtReset", 0);

btnStart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                isPaused = false;
                isStopped = false;
                activityRunning = true;

                //Disable the start and pause button
                btnStart.setEnabled(false);
                btnResume.setEnabled(false);
                //Enabled the pause and stop button
                btnPause.setEnabled(true);
                btnStop.setEnabled(true);

                stepsAtReset = stepsInSensor;
                SharedPreferences.Editor editor = getActivity().getSharedPreferences(MY_PREFS, MODE_PRIVATE).edit();
                editor.putInt("stepsAtReset", stepsAtReset);
                editor.commit();
                // you can now display 0:
                count.setText(String.valueOf(0));

            }
        });


   @Override
    public void onSensorChanged(SensorEvent event) {

        if (isPaused || isStopped) {
            Log.d("MAINFRAG", "pause or stopped");

        } else{
            if(activityRunning){
                count.setText(String.valueOf(event.values[0]));
                int stepsSinceReset = stepsInSensor - stepsAtReset;

                count.setText(String.valueOf(stepsSinceReset));
            }else{
                event.values[0] = 0;
            }

        }
    }

推荐答案

首先,您需要将数据保存在pref中,然后需要将var重置为零`

First you need to save your data in pref, then you need to reset your var to zero `

            editor.commit();
            stepsAtReset = 0
            count.setText(String.valueOf(stepsAtReset));`

这篇关于重置Android计步器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆