Per Button-Click Wert an Cursor-Position einfügen

  • Antworten:1
TheEvilOne
  • Forum-Beiträge: 311

29.08.2013, 18:48:43 via App

Hallo,

Ich habe in einer Activity oben ein paar Buttons, darunter befindet sich eine ListView mit EditText-Widgets.

Nun klicke ich in ein EditText, die Tastatur geht auf und ich setze den Cursor an eine beliebige Stelle innerhalb des EditText.

Per Klick auf einen der Buttons oben soll nun an dieser Cursor-Position in dem EditText ein Sonderzeichen eingefügt werden.

Hat jemand einen Ansatz, wie ich das anstellen kann?

Danke und viele Grüße

Antworten
TheEvilOne
  • Forum-Beiträge: 311

30.08.2013, 10:35:30 via Website

Okay, ich habs.

In der Adapter-Klasse der ListView hänge ich einen OnTouchListener an das EditText und speichere die View global in dieser Klasse.
Sobald ich einen Button in der Activity drücke führe ich im Adapter folgende Methode aus:

1public void insertValueOnCursorPosition(String textToInsert){
2
3 int start = Math.max(widgetToChange.getSelectionStart(), 0);
4 int end = Math.max(widgetToChange.getSelectionEnd(), 0);
5 widgetToChange.getText().replace(Math.min(start, end), Math.max(start, end),
6 textToInsert, 0, textToInsert.length());
7 }

Antworten