2016-05-22 10 views
2

Wie kann ich überprüfen, ob ein Boolescher Wert aus einer anderen Java-Klasse wahr oder falsch ist?Überprüfen Sie, ob ein Wahrheitswert aus einer anderen Java-Klasse wahr ist

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

Nun, da der Code ziemlich unvollständig ist, können wir hier nicht viel helfen. Von diesem Teil des Codes kann ich nur sagen: "sieht gut aus für mich". Da es scheinbar nicht funktioniert, wäre eine Fehlermeldung und der vollständige Code sehr hilfreich. Höchstwahrscheinlich handelt es sich um Zugriffsrechte, aber das kann man ohne Code nicht sicher sagen – Paul

+0

Ist "easy" eine Feldvariable? – Arman

+0

make boolean easy acess level öffentlich oder geschützt oder default rahter als private. so kann es außerhalb der Klasse zugegriffen werden. – Ankur1994a

Antwort

2

Sie müssen einen Verweis auf diese Klasse, um das zu tun. Die übliche Art der Kommunikation wäre die observer pattern für Java. Delegation ist auch eine Möglichkeit - die eine doppelte Referenz erstellen wird, aber in Java möchten Sie normalerweise Beobachtermuster nehmen, wie es standardmäßig implementiert ist.

Sie können auch eine Art von singleton pattern haben, um eine globale Referenz einer Instanz zu haben.

3

Sie entwickeln für Android richtig?
sollten Sie SharedPreference in diesem Fall wahrscheinlich verwenden (es wäre einfacher).

Verwendung dieser Code Wert speichern:

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

und diesen Code den Wert zu erhalten:

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

Ja, ich entwickle für Android. Allerdings möchte ich dieses Problem lösen, bevor ich erweiterten Code verwende. –

+0

So ist nicht wirklich fortgeschritten. Es speichert nur Ihre Variable auf dem Gerät. Auf diese Weise können Sie auf den Wert zugreifen, selbst wenn Sie Ihre App geschlossen und dann erneut geöffnet haben. –

3

Wenn Sie versuchen, nur zu erhalten, ob ein Wert wahr oder falsch ist , könnten Sie entweder Ihren booleschen public oder Sie könnten eine Getter-Methode machen.

public boolean getBooleanValue(){ 
    return booleanYouWant; 
} 
Verwandte Themen