0

こんにちは私はここで 1 つのアプリをやっています。グローバルクラス変数を使用しています。うまく機能していますが、より多くの globalclass 変数を使用していると、メモリ例外が発生することがあります。

私はこれを試しました:

  public class SecondClass extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second);



    TextView tv = (TextView)findViewById(R.id.tv);
    tv.setText("Global String : " + GlobalClass.myVal);
}
 }


  class GlobalClass extends Application {

   static String myVal;

  }

これは正しいですか?

4

4 に答える 4

3

このように使用できます

public class GlobalVar {

    public int getMyVar() {
        return myVar;
    }

    public void setMyVar(int myVar) {
        this.myVar = myVar;
    }

    private int myVar = 0;
    private static GlobalVar instance;

    static {
        instance = new GlobalVar();
    }

    private GlobalVar() {
    }

    public static GlobalVar getInstance() {
        return GlobalVar.instance;
    }

}

次に、次のように呼び出すことができます

GlobalVar.getInstance().setMyVar(int);
于 2012-10-29T10:15:40.110 に答える
3

まず、アプリケーションクラスでグローバル変数を宣言するために静的変数は必要ありません。

コードを次のように変更します。

class GlobalClass extends Application {

   public String myVal;

  }

次に、このデータにアクセスする必要がある場合はいつでも、次の方法で Application オブジェクトを取得します。

GlobalClass global=(GlobalClass)context.getApplication();
global.myVal="anything";
于 2012-10-29T10:16:35.320 に答える