0

Ich weiß, das wurde wahrscheinlich eine Million Mal gefragt, und ich habe gesucht. Diese Frage begann ursprünglich damit, dass ich eine Aktivität mit einigen Tasten haben wollte und wenn man geklickt wurde, bevor man zur nächsten Aktivität überging, auf Null-Variablen prüfte und ob einige gefunden wurden, die einen Toast zeigten. Ich habe seit dem Bug-Checking das Null-Variablenüberprüfungssegment entfernt, um nur die Variablen anzuzeigen. Ein sehr Barebones und vereinfachten Code der Situation ist, wie soToast.getText nicht angezeigt von OnclickListener der Schaltfläche in der Aktivitätsklasse Android 6.0.1

public Class MyClass extends Activity { 

EditText et1; 
EditText et2; 
Button btn1; 
String et1string; 
String et2string; 

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mylayout); 
     et1 = (EditText) findViewById(R.id.et1); 
     et2 = (EditText) findViewById(R.id.et2); 
     btn1 = (Button) findViewById(R.id.btn1); 

     btn1.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View view) { 
       et1string = et1.getText().toString(); 
       et2string = et2.getText().toString(); 
       Log.d(getClass().getName(), "et1string =" + et1string + " and et2string =" + et2string); 
       Toast.makeText(getApplicationContext(), "et1string =" + et1string + " and et2string =" + et2string, Toast.LENGTH_LONG); 
      } 
    }); 
} 

ich versucht habe, die folgende Verwendung anstelle des Toast.makeText

runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         Toast.makeText(getApplicationContext(), "et1string =" + et1string + " and et2string =" + et2string, Toast.LENGTH_LONG); 
        } 
       }); 

So oder so gibt es keine Toast Nachricht, die angezeigt wird.

Ich bin mir sicher, dass ich etwas tun, das leicht von einem Guru bemerkt wird, aber ich habe nur verwirrt. das logcat zeigt das logd an, und dieses ist nicht Anwendung abhängig, ich möchte gerade herausfinden, warum ich nicht einen Toast bekommen kann, um mich zu zeigen

Auch Ive gelesen, dass Benachrichtigungen gesperrt werden können? IDK, aber ich bin der Programmierung mit der Version 23 sdk so, wenn es eine Erlaubnis i auf, dass für einige Hinweise zu fragen brauchen wäre toll

Antwort

2

Sie haben auf Ihrem Toast Show zu nennen:

Toast.makeText(getApplicationContext(), "et1string =" + et1string + " and et2string =" + et2string, Toast.LENGTH_LONG).show(); 
+0

siehe ich bin ein Idiot Danke, Scherze auf den Idioten, aber du musst irgendwie richtig lernen? – Chris

0

Sie Es fehlt ein Anruf an .show().

Dies sollte in Android Studio als Warnung angezeigt werden. Wenn dies nicht der Fall ist, gehen Sie zu Einstellungen> Inspektionen und stellen Sie sicher, dass die Prüfung "Toast erstellt, aber nicht angezeigt" aktiviert ist.

0

fügen Sie am Ende eine ".show" hinzu.

Toast.makeText(getApplicationContext(), "et1string =" + et1string + " and et2string =" + et2string, Toast.LENGTH_LONG).show; 
0

Ihre Frage - gelöst durch show() Aufruf - wurde bereits beantwortet, aber ich finde, dass das eine große Gelegenheit ist Reto Meier's awesome post zu teilen, wo er über Live-Vorlagen Android Studios spricht und er spricht über dieses sehr Toast Thema.