2016-03-23 11 views
0

I以下のコードは、問題、 Iは、例2のクラスにおいて、複数のクラスを持っては、例1において静的ブールvarFind Bugsのインスタンスメソッドから静的フィールドを修正するには?

public class example2 extends Activity { 
    public static boolean var = false; 
} 

を有する例2から静的変数参照を持つています。

public class example1 extends Activity { 

    public void onResume() { 
     super.onResume(); 
     example2.var = false; 
    } 
} 

バグ:インスタンスメソッドから静磁場com.example.example2.fromVarにcom.example.example2.onResumeを()書きこれを解決する方法

...

+0

http://stackoverflow.com/questions/4878159/whats-the-best-way-to-share-data-between-activitiesを参照してください。 http://stackoverflow.com/questions/24703755/write-to-static-field-from-instance-methodも参照してください。これは、findbugsがこれが悪い習慣だと思う理由を説明しています。あなたはAndroidを使っているので、Android固有のソリューションが必要だと思います。 – ajb

+0

共有設定を使用して値を保存します。 – Dhina

+0

実際には、バグの説明はexample1とは関係がありません。おそらくexample2メソッドの1つで記述します。明らかにexample2.onResume()で – Pooya

答えて

0

静的でないコンテキストからの静的フィールドへの書き込みはコード臭です。このようにする理由は? 修正は簡単ですが、静的変数に書き込まないでください。コードがすべて表示されない場合は、手助けするのは難しいです。

関連する問題