javaだとC言語のようにstaticなローカル変数を定義できません。
1秒間隔で動いているメソッドでフラグの監視をして状態が変わった時
にだけ表示を更新したいのですが、この場合staticなローカル変数は
定義できないのでクラスのメンバー変数として定義するしかないのでしょうか?
下のようにするしかない?
static flag, _flag; public void timeOutCheck(){ final Handler handler = new Handler(); final Runnable r = new Runnable() { int count = 0; @Override public void run() { // UIスレッド handler.postDelayed(this, 1000); if(flag){ if(flag != _flag){ getSupportActionBar().setSubtitle("接続"); _flag = flag; } } else{ if(flag != _flag){ getSupportActionBar().setSubtitle("未接続"); _flag = flag; } } } }; handler.post(r); }
それともjavaだと以外と気にせず下のように毎回実行しちゃったり
するんでしょうか?なんかすごく無駄な処理をしてる感じで気持ち悪いのですが。
java
1 if(flag){ 2 getSupportActionBar().setSubtitle("接続"); 3 } 4 else{ 5 getSupportActionBar().setSubtitle("未接続"); 6 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。