Wenn ich den Fokus für einen Text anfordere, wird der Cursor einige Male an den Anfang verschoben, auch wenn ein Text vorhanden ist. Wie können wir den Cursor so platzieren, dass er unmittelbar nach dem Text steht, der bereits darin enthalten ist?
Antworten
Zu viele Anzeigen?
Sreekanth Karumanaghat
Punkte
3305
Arvind
Punkte
1
Atul O Holic
Punkte
6484
Ich hatte eine ähnliche Anforderung, wenn der Benutzer bearbeiten möchte und auf EditText klickt, sollte der Cursor am Ende sein. Ich erreichte das gleiche mit unten:
edtDisplayName.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_DOWN) {
edtDisplayName.setSelection(edtDisplayName.getText()
.length());
edtDisplayName.requestFocus();
//Open key board for user to edit
Commons.showKeyBoard(OnBoardActivity.this, edtDisplayName);
return true;
}
return false;
}
});
So habe ich das Schlüsselbrett geöffnet:
public static void showKeyBoard(Context context, View view) {
InputMethodManager imm = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, 0);
}