2016-05-22 10 views
2

ブール値が別のJavaクラスから真または偽であるかどうかを確認する方法はありますか?ブール値が別のJavaクラスから真であるかどうかをチェック

menu.class

public class menu extends AppCompatActivity { 
    TextView textPoints; 
    Button button2; 
    public boolean easy; 

    public void Click(View v) { 
    if (button2.getText().equals("Svårighetsgrad: Svårt")) { 
       easy = true; 
       button2.setText("Svårighetsgrad: Lätt"); 
       } 
      else { 
       easy = false; 
       button2.setText("Svårighetsgrad: Svårt"); 

GameActivity.class

menu m = new menu(); 
      if (m.easy == true) { 
       myImageView.setVisibility(View.VISIBLE); 
       newAndroid(); 
       points = getPoints() - 1; 
       text1.setText("Poäng: " + points); 
      } 
      else { 
       myImageView.setVisibility(View.VISIBLE); 
       newAndroid(); 
       points = getPoints() - 5; 
       text1.setText("Poäng: " + points); 
+2

コードはかなり不完全なので、ここではあまり役に立ちません。この部分のコードから、私が言うことができるのは「私にはうまく見える」ということだけです。明らかに動作しないので、エラーメッセージと完全なコードは非常に役に立ちます。おそらくそれはアクセス特権に関するものですが、コードなしではそれを言うことはできません – Paul

+0

"easy"はフィールド変数ですか? – Arman

+0

ブール値を簡単にacessレベルのpublicまたはprotectedまたはdefaultのrahterをprivateよりも作成します。クラスの外側にアクセスすることができます。 – Ankur1994a

答えて

2

あなたはそれを行うために、そのクラスの参照が必要です。コミュニケーションの一般的な方法はjava用のobserver patternです。 Delegationも可能です - これは二重参照を作成しますが、Javaでは通常、デフォルトで実装されているようにオブザーバーパターンを取得します。

singleton patternをインスタンスのグローバル参照として使用することもできます。

3

Android用に開発していますか?
この場合は、おそらくSharedPreferenceを使用してください(これは簡単です)。

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
boolean score = sharedPref.getBoolean("EASY", defaultValue); 
+0

はい私はアンドロイド用に開発中です。しかし、私はより高度なコードを使用する前に、この問題を解決したいと思います。 –

+0

これは本当に進んでいません。変数はデバイスに保存されます。これにより、たとえあなたのアプリを閉じたとしてもその値にアクセスしてから再び開くことができます。 –

3

あなただけの値が真か偽であるかどうかを取得しようとしている場合は、次の値を取得するために

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putBoolean("EASY", easy); 
editor.commit(); 

このコード:

使用このコードは値を保存しますブール値publicを作成するか、ゲッターメソッドを作成することができます。

public boolean getBooleanValue(){ 
    return booleanYouWant; 
} 
関連する問題