2017-06-07 3 views
1

Ich möchte diese Num-Variable von verschiedenen Klassen über diese Methoden aktualisieren. HierWarum kann ich eine Variable der Klasse nicht von einer anderen Klasse in Android (Java) aktualisieren?

public class ResultNum extends AppCompatActivity{ 

private int num; 


public int ResultNum1(){ 

    return num; 
} 


public void yesMethod(int i){ 

    num = i+num; 

} 

ist eine andere Klasse

yes.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      result.yesMethod(2); 


     } 
    }); 

und auch habe ich einige andere Klassen als auch aber es ‚0‘ zeigen, wenn ich es angezeigt, die unterschiedliche Zahlen geht

hier Code für Anzeige der Nummer

TextView t = (TextView) findViewById(R.id.text_number); 
    int x = result.ResultNum1(); 
    t.setText(""+x); 

ich versuchte auch

TextView t = (TextView) findViewById(R.id.text_number); 
    t.setText(""+result.ResultNum1()); 

also Was genau muss ich jetzt tun?

+1

Sie müssen '.yesMethod()' auf demselben 'Objekt' aufrufen. –

+0

Willkommen bei Stack Overflow! Bitte nehmen Sie die [Tour] (http://stackoverflow.com/tour), schauen Sie sich um und lesen Sie die [Hilfe] (http://stackoverflow.com/help), insbesondere [Wie frage ich eine gute Frage?] (http://stackoverflow.com/help/how-to-ask) und [Was kann ich hier fragen?] (http://stackoverflow.com/help/on-topic). Bitte lesen und befolgen Sie auch die [Java Namenskonventionen] (http://www.oracle.com/technetwork/java/codeconventions-135099.html) –

+0

sollten Sie Text nach dem Drücken von klicken. Setzen Sie setText nach dem Klick auf die Schaltfläche? – user7676575

Antwort

0

Wie bereits erwähnt, sollten Sie entweder int num als static deklarieren oder sicherstellen, dass alle Ihre Methoden in der gesamten Anwendung dieselbe Instanz der Klasse ResultNum verwenden.

+0

Danke! Es hat gut funktioniert –

Verwandte Themen