2017-04-15 1 views
-2

Ich machte sehr einfach Java Toast, die erscheint, wenn Sie eine Taste drücken. Aber wenn ich es auf meinem Telefon starte, stoppt es die App und beendet ohne einen Fehler. Was habe ich falsch gemacht?Java-App wird geschlossen, wenn ich Button drücke, um einen Toast zu starten. Aber warum?

MainActivity:

package com.example.ras.tests; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.Toast; 

public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


    } 

    public void buttonWasClicked(View Button) { 
     Toast.makeText(this , "Button wurde geklickt!" , Toast.LENGTH_SHORT).show(); 
    } 
} 

Button:

<Button 
    android:text="Button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/button" 
    android:layout_marginTop="16dp" 
    app:layout_constraintTop_toTopOf="@+id/activity_main" 
    android:layout_marginStart="16dp" 
    app:layout_constraintLeft_toLeftOf="@+id/activity_main" 
    android:layout_marginLeft="16dp" 
    android:onClick="buttonWasClicked (MainActivity)" 
    android:visibility="visible" /> 
</android.support.constraint.ConstraintLayout> 
+1

Bitte bearbeiten Sie Ihre Frage und fügen Sie das Logcat hinzu. –

+1

Frage im Zusammenhang mit "Aber warum?" ist keine gute Frage, lesen Sie bitte [wie man eine gute Frage stellt] (https://stackoverflow.com/help/how-to-ask) – Omore

Antwort

0

Einfach: android:onClick="buttonWasClicked" in Ihrem XML sollte den Trick tun. Oder in Ihrer OnCreate Methode Sie Zuhörer auf Ihre Schaltfläche wie folgt zuordnen:

final Button button = (Button)findViewById(R.id.button); 
button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       buttonWasClicked(button); 
      } 
     }); 

In diesem Fall Sie android löschen: Beim Klicken von Ihrem xml. Und Sie können es Ereignis besser tun: Entfernen Sie den Parameter View-Button von der Methode buttonWasClicked dies ermöglicht es Ihnen nicht, Ihre Variable endgültig zu deklarieren.

+0

Vielen Dank! – ramsanx

0

Versuchen Sie, die "(MainActivity)" im android entfernen: onClick in der XML-Datei.

+0

vielen Dank! Es hat funktioniert – ramsanx

Verwandte Themen