2010-02-09 11 views
6

Piszę aplikację z widgetem opartym na EditText. i chciałbym utworzyć własną kopię menu wklejenia &. Aby zastąpić domyślne menu Androida w EditText, co powinienem zrobić? Po prostu przesłonić długie kliknięcie? lub czy istnieje inny sposób wdrożenia? Z góry dzięki.Jak mogę napisać własne menu kontekstowe do kopiowania i wklejania?

+0

Hi zrobił funkcje kopiowania i wklejania domyślny nadal działać po dokonaniu własne menu kontekstowe? – Muddz

Odpowiedz

1

Uważa się, że jest to trochę standardowe ćwiczenie do wykonania kopiowania/wklejania na twardo poprzez nadpisanie systemu menu, samodzielne tworzenie elementów menu i własnego wewnętrznego bufora.

Jednak nie należy tego robić, jeśli na platformie dostępny jest lepszy sposób. Reimplementing funkcje platformy jest dobre dla uczenia się, ale złe dla konserwacji.

Społeczność Wiki jako, że nie jest to prawdziwa odpowiedź i nie powinienem być za to rep.

+0

Moja osobista opinia jest taka sama jak twoja, ale zawsze klient robi ..., nie ma możliwości bez zastosowania własnego menu kopiowania i wklejania. W każdym razie, dziękuję za odpowiedź. – skysign

+1

Komentarz jest ogólnie lepszy dla tego rodzaju rzeczy – Casebash

+0

@casebash dobrze, ponieważ otrzymał akceptowaną odpowiedź, oczywiście nie było. – Joshua

2

EditText powinien już mieć włączone menu kontekstowe. Gdyby tak nie było, musisz włączyć go, dzwoniąc pod numer registerForContextMenu. Po włączeniu menu kontekstowego musisz dodać do niego elementy. Odbywa się to w onCreateContextMenu za pomocą jednego z Menu.add methods.

Twarda część pisze kod dla onContextItemSelected po wybraniu przez użytkownika opcji. Zapisywanie tekstu w schowku to po prostu kwestia wywołania ((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).setText("myText");. Najpierw jednak musimy znaleźć tekst do skopiowania. Jeszcze nie wymyśliłem tej ostatniej części, ale mam nadzieję, że niedługo.

Podobne pytania

+0

Zrobiłem niestandardowy pasek wyboru tekstu/kontekstu, w którym dodałem funkcję dla użytkownika, aby móc dokonać zaznaczonego tekstu pogrubieniem/kursywą/podkreśleniem itp., Ale po dostosowaniu domyślne funkcje kopiowania/wklejania/cięcia już nie działają , ale ikony dla nich nadal się pojawiają? Jak można go ponownie aktywować? moje własne metody na pogrubienie/kursywa itp. działają jednak! – Muddz

Powiązane problemy