2016-06-08 9 views
0

Ich möchte meine benutzerdefinierte EditText durch Erweitern meiner Klasse auf EditText erstellen. Ich möchte einige Touchevents meiner benutzerdefinierten EditText überschreiben.Wie funktioniert ontouchevent() von editiertext?

Kann mir jemand erklären, wie die Standard-Touch-Ereignisse für einen Standard EditText funktioniert? Wie, wenn wir Sie auf den EditText, die MotionEvent ausgelöst wird die Tastatur zur Eingabe von Text zeigen usw.

Ich habe die Dokumentation des EditText lesen, eine benutzerdefinierte Ansicht erstellen, onTouchEvent(), die verschiedenen Bewegungsereignisse wie ACTION_DOWN, ACTION_MOVE usw. .

Ich möchte nur die Funktionsweise eines Standard EditText kennen.

Antwort

0

Überprüfen Sie die Implementierung von EditText auf Android-Repository: https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/EditText.java.

Es sieht so aus, als ob EditText onTouchEvent-Implementierung von TextView erbt. Sie können überprüfen, wie es sich verhält, indem Sie direkt auf den Code https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/TextView.java#L8272 schauen.

Zum Beispiel Teil des Codes verantwortlich für die Ansicht Tastatur:

if (touchIsFinished && (isTextEditable() || textIsSelectable)) { 
    // Show the IME, except when selecting in read-only text. 
    final InputMethodManager imm = InputMethodManager.peekInstance(); 
    viewClicked(imm); 
    if (!textIsSelectable && mEditor.mShowSoftInputOnFocus) { 
     handled |= imm != null && imm.showSoftInput(this, 0); 
    } 

    // The above condition ensures that the mEditor is not null 
    mEditor.onTouchUpEvent(event); 

    handled = true; 
} 
-1

Sie es einfach ausprobieren - außer Kraft setzen alle Ereignisse, die Sie interessiert sind, und einige Log-Meldungen angezeigt werden (z Log.i(TAG, "action down");)

+0

Dies wird nur Strom Implemenation von onTouchEvent helfen zu verstehen() nicht, wie es in EditText Steuerung implementiert wird. – kTT

+0

ok - danke! – Katharina

Verwandte Themen