GUI auf mehrere Klassen verteilen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • GUI auf mehrere Klassen verteilen

    Hallo ^^

    ich habe erst kürzlich mit der App Entwicklung angefangen - bin also noch blutiger Anfänger. Ich möchte zum Start eine App schreiben, mit der ich via Bluetooth eine LED an- bzw. ausschalten kann, und zusätzlich dazu die Spannungen auslesen. Das möchte ich jeweils in einem eigenen Fenster darstellen. Sprich einmal "Power Monitor" und einmal "Licht an- ausschalten". Durch einen Click auf einen Button soll dann von dem Startbildschirm "Powermonitor" auf "Licht an- ausschalten" gewechselt werden können. Hier ist mal der Code:

    Quellcode

    1. public class MainActivity extends AppCompatActivity {
    2. @Override
    3. protected void onCreate(Bundle savedInstanceState) {
    4. super.onCreate(savedInstanceState);
    5. setContentView(R.layout.activity_main);
    6. }
    7. public void LampeKlick (View view) {
    8. Lampe lampe = new Lampe();
    9. lampe.LampeKlick();
    10. }
    11. }
    Alles anzeigen

    Quellcode

    1. public class Lampe extends AppCompatActivity{
    2. public void LampeKlick () {
    3. setContentView(R.layout.lampe_layout);
    4. }
    5. }
    Wie schaffe ich es, "setContentView(R.layout.lampe_layout);" in eine eigene Klasse zu stecken? Bei mir stürzt die App immer ab.

    Vielen Dank für eure Hilfe und einen guten Start in die neue Woche ^^

    A456B123
  • Ich versteh die Frage nicht ganz aber wie ich das verstanden habe willst du einfach die Activity wechseln...
    Einfach beim Button click diese 2 Zeilen aufrufen (aber anstatt DisplayMessageActivity -> deine Activity)

    Quellcode

    1. Intent intent = new Intent(this, DisplayMessageActivity.class); // <- Die zweite Activity
    2. startActivity(intent);
  • Danke für die schnelle Antwort :D genau.

    ich habs jetzt mal so geschrieben:

    Quellcode

    1. public class MainActivity extends AppCompatActivity {
    2. @Override
    3. protected void onCreate(Bundle savedInstanceState) {
    4. super.onCreate(savedInstanceState);
    5. setContentView(R.layout.activity_main);
    6. }
    7. public void LampeKlick (View view) {
    8. Intent intent = new Intent(this, Lampe.class); // <- Die zweite Activity
    9. startActivity(intent);
    10. }
    11. }
    Alles anzeigen
    War das so von dir gemeint? Leider stürzt die App noch immer ab. Die Klasse Lampe habe ich so gelassen.
  • Ich glaube du hast die Klasse Lampe etwas falsch gestaltet :D

    Quellcode

    1. @Override
    2. protected void onCreate(Bundle savedInstanceState) {
    3. super.onCreate(savedInstanceState);
    4. setContentView(R.layout.lampe_layout);
    5. }

    Du Brauchst in der Klasse Lampe ein OnCreate wie in der MainActivity und in der machst du das super.onCreate und das setContentView(mit deinem Layout)