簡體   English   中英

當傳感器事件發生變化時,如何多次增加變量?

[英]How can I increment the variable more than one time when sensor event changed?

正如你所看到的,當加速度計 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));
            }
         }
    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#”以外的更有意義的變量名會讓人們更容易弄清楚你想要做什么。

您可以將變量 c 定義為字段成員,如下所示:

public class MainActivity {
    private int c = 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);

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM