TextView in externer Klasse auslesen

  • Hallo


    Ich bin seit Stunden daran herauszufinden, wie man in einer externen Klasse auf den Inhalt von TextView's zugreifen kann.


    in der externen Klasse hab ich drin:

    Java
    public class Test extends MainActivity {
    
    
        public void starteTest() {
            setContentView(R.layout.activity_main);
            pw_template = (TextView) findViewById(R.id.pw_template);
            pw_template.setText("Neuer Text");
        }
    }



    Die Klasse rufe ich in der MainActivity aus der Methode onCreate auf:

    Code
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    
            test = new Test();
            test.starteTest();
    }


    Die fehlermeldung ist immer folgende:

    Was habe ich denn übersehen?

  • Bei fehlenden Konstrukte wird vom Compiler eigentlich automatisch ein leerkonstruktor erzeugt.

    Kann Spuren von persönlicher Meinung, Sarkasmus und Lakritz enthalten. Einzelne Wörter nicht für den Verzehr geeignet. Ungelesen mindestens haltbar bis: suche bei Google

  • Nehme ich das extends MainActivity raus, findet er setContentView nicht mehr (cannot resolve method setContentView).
    Auch mit extends Activity crasht die App
    "Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.Window.setContentView(int)' on a null object reference"

  • Du brauchst dein Layout nicht neu laden. Verstehe nicht ganz dein vorhaben. du wilst von Klasse mainActivity auf eine Methode der Test Klasse zugreifen die dann auf wieder auf ein TextView der mainActivity zugreift. richtig?
    dafür must du das Layaut nicht neu laden und auch keine Vererbung von dir selber machen.
    Du hast zwar die Funkzionalität der Klasse mainActivity geerbt, aber damit bist du nicht in deiner Activity, du erzeugst ja ein neues Objekt. Dafür must du den Context der main Klasse übergeben und mit ihm arbeiten.
    Dann kanst du auf die Objekte deine main zugreifen. oder auch neue suchen so wie in startText2().
    das erben von mainActivity ist nicht notwendig.






Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!