Hallo ich teste grad ein wenig rum , nur bekomme ich es irgendwie nicht hin aus meiner Activity heraus eine neue Instanz einer unterklasse zu erstellen ,
Konkret möchte ich ein neues Layout aufrufen und in diesem mit EditTextfelder und TextViews arbeiten, wenn ich den kompletten Code in die Hauptklasse schreibe funktioniert alles , ich würde aber gerne da es sich der ordnung halber um viel Code handelt , alles in unterklassen durch vererbung aufteilen , funktioniert aber irgendwie nicht.
Eigentlich müsste ich ja dem Button im zweiten layout einen seperaten onClick listener aufrufen der mir dann eine Methode der unterklasse aufruft um z.b später eine rechnung durchzuführen , aber wie genau ich es realisiere weiß ich noch nicht .....jemand ein paar anregungen ?
Hier ein wenig Code ( die namen der Variablen etc. sind fiktiv), die imports bis auf die des Unterklassen pakets hab ich mir mal gespart. ^^
Jetzt die Frage, bei klick auf den Button sollte eingentlich eine Unreferenzierte Instanz der Unterklasse aufgerufen werden , in der mir theoretisch auch nur die onClick Methode des listeners wichtig ist, muss ich trotzdem Referenzieren oder reicht es auch so ???? weil irgendwie funktioniert es nicht , oder muss ich es über eine neue Activity händeln ?
ich frage mich , wenn ich die neue unterklasse instanziere, aber nicht referenziere, kann ich ja auch nicht auf die onClick methode dieser klasse zugreifen, wenn ich allerdings schon in der switch anweisung instantiere und versuche eine methode aufzurufen schmiert das app zur laufzeit ab.....warum ?
Konkret möchte ich ein neues Layout aufrufen und in diesem mit EditTextfelder und TextViews arbeiten, wenn ich den kompletten Code in die Hauptklasse schreibe funktioniert alles , ich würde aber gerne da es sich der ordnung halber um viel Code handelt , alles in unterklassen durch vererbung aufteilen , funktioniert aber irgendwie nicht.
Eigentlich müsste ich ja dem Button im zweiten layout einen seperaten onClick listener aufrufen der mir dann eine Methode der unterklasse aufruft um z.b später eine rechnung durchzuführen , aber wie genau ich es realisiere weiß ich noch nicht .....jemand ein paar anregungen ?
Hier ein wenig Code ( die namen der Variablen etc. sind fiktiv), die imports bis auf die des Unterklassen pakets hab ich mir mal gespart. ^^
Java:
import sh.appdevelopment.klassen.*;
public class Testklasse implements OnClickListener
{
private Button ButtonEins;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_eins);
ButtonEins = (Button)findViewById(R.id.buttonEins);
ButtonEins.setOnClickListener(this);
}
public void onClick(View v)
{
switch(v.getId())
{
case R.id.buttonEins:
new Testunterklasse(); // Hier sollte die Unterklasse Instanziert werden , eigentlich...
setContentView(R.layout.layout_zwei);
break;
}
}
}
Java:
public class Testunterklasse extends Test implements OnClickListener
{
Button ButtonZwei = (Button)findViewById(R.id.buttonZwei); // Instanzierung,Referenzierung,Wertzuweisung mal ohne setter
public void onClick(View v)
{
switch(v.getId())
{
case R.id.buttonZwei:
versuch(); // die Methode sollte eigentlich in der aktuellen instanz der Unterklasse bei Klick aufgerufen werden , funktioniert aber nicht ?!
break;
}
}
public void versuch()
{
CharSequence text = this.getResources().getString(R.string.text);
this.ButtonZwei.setText(text);
}
}
ich frage mich , wenn ich die neue unterklasse instanziere, aber nicht referenziere, kann ich ja auch nicht auf die onClick methode dieser klasse zugreifen, wenn ich allerdings schon in der switch anweisung instantiere und versuche eine methode aufzurufen schmiert das app zur laufzeit ab.....warum ?
Java:
KalorienRechner k = new KalorienRechner(); // das geht zur laufzeit hoch ? warum ?
k.start();
Zuletzt bearbeitet: