Android Studio: Klick auf den gesamten Bildschirm?
Hallo! Ich möchte, dass wenn der Nutzer meiner App auf den "App- Screen" (leeres layout mit nur einem TextView) klickt, eine bestimmte Aktion ausgeführt wird. Kann mir jemand helfen? Vielen Dank :) Jul
3 Antworten
In der onCreate-Methode ergänzen:
layout.setOnClickListener(this);
layout natürlich durch dein Layout ersetzen.
Lasse die Activity das Interface OnClickListener implementieren.
Dann ergänze noch diese Methode zu deiner Activity:
@Override public void onClick (View v) { // Deine Aktion }
Außerdem sollte das Layout natürlich die volle Fläche ausmachen, die anklickbar sein soll.
...hab es inzwischen anders gelöst :) ...trotzdem Danke! Ich habe nun den OnClickListener implementiert:
public class SpielActivity extends AppCompatActivity implements View.OnClickListener {
private TextToSpeech tts;
@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(activity_spiel);
tts = new TextToSpeech(SpielActivity.this, new TextToSpeech.OnInitListener() {
@Override public void onInit(int status) {
tts.setLanguage(Locale.GERMAN);
}
});
activity_spiel.setOnClickListener(this);//Hier wird auf das .setOnClickListener mit einer Fehlermeldung hingewiesen!
}
//Hier wird auf das .setOnClickListener mit einer Fehlermeldung hingewiesen! Was kann ich tun?
activity_spiel.setOnClickListener(this); // .setOnClickListener ist rot unterstrichen (Error: int cannot be dereferenced)
activity_spiel ist scheinbar ein int. Du musst dem Layout selbst, welches sich über den gesamten Bildschirm erstreckt, eine ID zuweisen, eine Referenz per findViewById erhalten und auf diese die Methode setOnClickListener anwenden.
Und als was für eine Art von Typ muss ich es zuweisen? (Bei einem Button ist es klar:
Button mybutton = (Button) findViewById(R.id.dereinebutton) ) ?
Hat funktioniert...ein wenig anders aber vom Prinzip her gleich. Vielen Dank ! :)
Du kannst eine Funktion im OnClick Attribut dem Layout zuweisen. Diese Funktion schreibst du jetzt im der Activity und bei einem Click wird diese dann Ausgeführt.
Könntest du eventuell etwas ausführlicher erklären, oder am besten die nötigen "Codeschnipsel" schicken? :D
Du musst irgendwo die onTouch oder onClick oder wie die heißt überschreiben.
Sorry falls die Antwort etwas unklar ist, aber ich habe schon seit 2 Monaten kein Android mehr angefasst.
Kannst du das eventuell noch etwas genauer beschreiben? :)
Was kann ich tun, wenn ich schon einen OnInitListener in meine Activity implementiert habe?