Alexej D.
- Forum-Beiträge: 10
06.02.2014, 15:51:26 via Website
06.02.2014 15:51:26 via Website
Hallo zusammen,
mein Problem konnte ich dank der SuFu schon lösen. Ich würde aber gerne verstehen wo genau der Fehler lag.
Im Prinzip will ich einfach nur wenn ein Button gedrückt wird ein Text ausgeben.
Dafür habe ich folgenden Code benutzt:
Mir wurde dann dieser Fehler angezeigt,
den ich beheben konnte durch folgende Änderung
Jetzt die erste Verständisfrage: Warum brauche ich das MainActivity davor? bezieht sich das this nicht sowieso auf genau die momentane Funktion der Klasse?
Ich habe dann im Internet recherchiert und eine alternative schreibweise gefunden. Dazu musste ich mein Button in der XML-Datei einen onClick hinzufügen:
Woran liegt das? Wo genau ist mein Fehler?
Ich würde mich freuen, wenn ihr mir meine Fragen beantworten könntet und vllt wäre es auch interessant zu erfahren welche Variante ihr wählt und warum.
Vielen Dank schon mal und beste Grüße
Alexej
mein Problem konnte ich dank der SuFu schon lösen. Ich würde aber gerne verstehen wo genau der Fehler lag.
Im Prinzip will ich einfach nur wenn ein Button gedrückt wird ein Text ausgeben.
Dafür habe ich folgenden Code benutzt:
1final Button antwort = (Button) findViewById(R.id.button1);
2 antwort.setText(R.string.antwort);
3 antwort.setOnClickListener(new View.OnClickListener() {
4 public void onClick(View view) {
5
6 Toast.makeText(this, "Wrong! Try again",Toast.LENGTH_SHORT).show();
7
8 }
9 });
2 antwort.setText(R.string.antwort);
3 antwort.setOnClickListener(new View.OnClickListener() {
4 public void onClick(View view) {
5
6 Toast.makeText(this, "Wrong! Try again",Toast.LENGTH_SHORT).show();
7
8 }
9 });
Mir wurde dann dieser Fehler angezeigt,
Die Methode makeText(Context, CharSequence, int) im Typ Toast ist für die Argumente nicht anwendbar (new View.OnClickListener(){}, String, int)
1Toast.makeText(MainActivity.this, "Wrong! Try again",Toast.LENGTH_SHORT).show();
Jetzt die erste Verständisfrage: Warum brauche ich das MainActivity davor? bezieht sich das this nicht sowieso auf genau die momentane Funktion der Klasse?
Ich habe dann im Internet recherchiert und eine alternative schreibweise gefunden. Dazu musste ich mein Button in der XML-Datei einen onClick hinzufügen:
1android:onClick="onClickButton1"
Danach sollte ich eigentlich auf den Klick im Programmm durch folgenden Code reagieren können:1public void onClickButton1 (View view){
2Toast.makeText(this, "Wrong! Try again",
3Toast.LENGTH_SHORT).show();
4}
Hier wird mir jedoch als Fehler ausgegeben:2Toast.makeText(this, "Wrong! Try again",
3Toast.LENGTH_SHORT).show();
4}
void ist ein ungültiger Typ für die Variable onClickButton1
Woran liegt das? Wo genau ist mein Fehler?
Ich würde mich freuen, wenn ihr mir meine Fragen beantworten könntet und vllt wäre es auch interessant zu erfahren welche Variante ihr wählt und warum.
Vielen Dank schon mal und beste Grüße
Alexej
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.