Unterschrift App

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

  • Unterschrift App

    Hey, ich habe ein Problem mit meiner App. Und zwar ist es so das ich sie starten kann und alles auch so aussieht wie gewollt aber sobald ich den clear Button drücke stürzt die App ab. Kann mir wer sagen woran das liegen kann?

    Quellcode

    1. public class MainActivity extends Activity {
    2. public Button abbr;
    3. public Button clear;
    4. public Button save;
    5. private DrawView drawview;
    6. @Override
    7. public void onCreate(Bundle savedInstanceState) {
    8. super.onCreate(savedInstanceState);
    9. setContentView(R.layout.activity_main);
    10. DrawView drawview = new DrawView(this, null);
    11. drawview.setBackgroundColor(Color.BLACK);
    12. drawview.requestFocus();
    13. }
    14. public void clear() {
    15. drawview.clearBitmap();
    16. }
    17. }
    Alles anzeigen
  • Das Event Triggere ich direkt in der activity_main.xml Datei.

    Quellcode

    1. <Button
    2. android:id="@+id/clear"
    3. android:layout_width="wrap_content"
    4. android:layout_height="wrap_content"
    5. android:layout_alignParentTop="true"
    6. android:layout_alignParentBottom="true"
    7. android:layout_marginStart="30dp"
    8. android:layout_marginTop="144dp"
    9. android:layout_marginBottom="68dp"
    10. android:layout_toEndOf="@+id/abbr"
    11. android:onClick="clear"
    12. android:text="CLEAR" />
    Alles anzeigen
  • Hallo da wohl hier keiner fähig ist zu antworten, die Admins des Forums zwar manchmal online sind, aber nur schweigen und keine Hilfe geben.
    Das ist in anderen Forums besser hatte ich hier auch schon mal gesagt.
    Das sich die Betreiber dieses Forums zu wenig kümmern.

    Das Forum würde ich schon als fast Tot bezeichnen.
    OK ich versuche es mal.

    @B34ST

    ja du benutzt das alte onClick Tag in der Layout Xml Datei.
    Auch wenn du dadurch nicht die Id suchen (findviewbyid) und einen Listener auf den Button setzen musst.
    Musst du dich doch an die klassische allgemeine Form eines OnClicklistener halten.

    public void clear(){….// ist kein listner.

    public void clear(View v){…. // so sollte er sein

    Mit etwas Google suche hättest du das lösen können.



    Ich denke das die App jetzt nicht abstürzt aber sie wird bestimmt nicht das tun was du erwartest.

    Du willst eigentlich auf die View deiner Klasse „DrawView“ zugreifendie du in deinem Layout erstellt hast.

    Nur hast du nicht die Instanz der View geholt.
    Das Objekt was du von deiner Klasse erstellt hast, ist nicht dasselbe was beim erzeugen des Layout erstellt wurde.
    Deshalb wird dein Löschen auch nicht gehen.

    Beim „setContentView“ wird dein Layout aus der XML eingelesen und es wird aus allen in der XML Datei befindlichen View Elementen ein Objekt erstellt.

    Du musst schon auf die Instanz (Objekt) aus deinem Layout zugreifen.
    Wie das geht wiest du habe ich dir auch schon gesagt.

    So jetzt denke nach wie du z.b. auf eine TextViewaus deinem Layout zugreifst.
    Welche Methode du dazu brauchst um an das Objekt oder die Instanz zukommen.

    Grundlagen OOP.

    Ich werde hierzu keinen weiteren Beitrag schreiben.

    PS das Objekt was du von deiner Klasse in der onCreate erstellst brauchst du eigentlich nicht.
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von nono124 ()