View Eventlistener


EventDescription
onClickListenerWird verwendet, um die kurze Berührung eines Views zu erkennen.
onCreateContextMenuListenerWartet auf die Erstellung eines Kontextmenüs als Ergebnis eines langen Klicks.
onDragListenerWird verwendet, wenn Views von einer Position zu einer zweiten gezogen werden.
onFocusChangedListenerErkennt, wenn sich der Fokus als Ergebnis einer Interaktion ändert.
onGenericMotionEventVerwendung unterschiedlicher Gesten.
onHoverListenerErkennt Bewegungen über einem View. Wird nicht bei Smartphones ausgelöst.
onKeyListenerWird verwendet, ob eine Taste gedrückt wurde. Wird nicht ausgelöst bei einem SmartKeyboard.
onLongClickListenerEin View wird für längere Zeit berührt.
onTouchListenerBerührung eines Views mit einem oder mehreren Berührpunkten oder mittels Gestenbewegungen.

Listener mit Anonymen Objekt


public class MainActivity extends AppCompatActivity { 
	ActivityMainBinding binding; 
	... 
	protected void onCreate(Bundle savedInstanceState) {
	...
		binding.btnEvents.setOnClickListener( 
			new Button.OnClickListener(){ 
				@Override 
				public void onClick(View v) { 
					if (!binding.btnEvents.getText().equals("Click me!")){
						binding.btnEvents.setText("Click me!"); 
					} else { 
						binding.btnEvents.setText("Clicked"); 
					}
				}
			}
		);
		...
	}
	...
}

Listener mit Eventhandler-Klasse


public class MainActivity extends AppCompatActivity { 
	ActivityMainBinding binding; 
	... 
	protected void onCreate(Bundle savedInstanceState){ 
		...  
		binding.btnEvents.setOnClickListener(new EventHandlers()); 
		... 
	} 
	private class EventHandlers implements Button.OnClickListener{ 
		@Override 
		public void onClick(View v) { 
			if (!binding.btnEvents.getText().equals("Click me!")) {
				binding.btnEvents.setText("Click me!"); 
			} else { 
				binding.btnEvents.setText("Clicked");
			}
		}
		...
	}
	...
}

Listener mit Activity-Klasse


public class MainActivity extends AppCompatActivity implements Button.OnClickListener{
	ActivityMainBinding binding;
	...
	protected void onCreate(Bundle savedInstanceState) {
		...
		binding.btnEvents.setOnClickListener(this);
		...
	}
	@Override
	public void onClick(View v) {
		if (!binding.btnEvents.getText().equals("Click me!")) {
			binding.btnEvents.setText("Click me!");
		} else {
			binding.btnEvents.setText("Clicked");
		}
	}
}

Listener mit Lambda Funktion

public class MainActivity extends AppCompatActivity implements Button.OnClickListener{
	ActivityMainBinding binding;
	...
	protected void onCreate(Bundle savedInstanceState) {
		...
		binding.btnEvents.setOnClickListener.setOnClickListener(view -> {
			//Do Somathing
		});
	}
}