首页 > 解决方案 > 当传感器事件发生变化时,如何多次增加变量?

问题描述

正如你所看到的,当加速度计 z 轴值大于 12 时,我试图增加变量“c”。但我可以一次这样做,它会在执行程序后将值 0 更改为 1。但我想收集 z 轴值超过 12 的次数。

 @Override
        public void onSensorChanged (SensorEvent event) {
            textView.setText(event.values[0] + "");
            textView1.setText(event.values[1] + "");
            textView2.setText(event.values[2] + "");


            String s = new String();
            s = textView2.getText().toString().trim();
            Float t = Float.parseFloat(s);
            int c = 0;

            if (t > 11) {
                c++;
                txt.setText(Integer.toString(c));
            }
         }

标签: javaandroid

解决方案


    int counter = 0;     

    @Override
    public void onSensorChanged (SensorEvent event) {
        textView.setText(event.values[0] + "");
        textView1.setText(event.values[1] + "");
        textView2.setText(event.values[2] + "");


        String s = new String();
        s = textView2.getText().toString().trim();
        Float t = Float.parseFloat(s);
        int c = 0; // ???

        if (t > 11) {
            c++;
            counter++;
            txt.setText(Integer.toString(c));
            System.out.println("I need to learn how to use global 
                                variables.\n
                                also the thing has been greater than \"12\"
                                "+counter" times."
                              );
        }
     }

另外,也许使用“textView#”以外的更有意义的变量名会让人们更容易弄清楚你想要做什么。


推荐阅读