2012-05-15 18 views
5

Mam edittext i chciałbym wkleić w nim jakiś tekst. Mogę skopiować tekst z jakiejś strony internetowej, ale nie mogę wkleić tekstu do mojej kontrolki edittext. Jak mogę włączyć edittext, aby wkleić jakiś tekst. Oto mój plik main.xml dla edittext;Opcja wklejania dla edittext

enter code here 

<EditText 
    android:id="@+id/enter" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_weight= "2" 
android:scrollbars="vertical" 
android:textColor="@color/black" 
/> 

Dzięki

+0

Chcesz to zrobić programowo? –

+1

yes.if użytkownik umieszcza palec w edytorze tekstu, jak mogę pokazać opcję wklejenia? – artist

+2

Cóż, użytkownik powinien widzieć opcję wklejania, jeśli naciśnie i przytrzyma tekst edycji. Czy to nie działa? –

Odpowiedz

6

To jest na Androidzie 4.4.2 Samsung S4 ;

Dokumentacja TextView mówi, że:

Aby umożliwić użytkownikom kopiowanie części lub całości wartości TextView i wklej go gdzieś indziej, ustawić atrybut XML android: textIsSelectable do „true” lub zadzwoń pod numer setTextIsSelectable (true). Flaga textIsSelectable umożliwia użytkownikom wykonywanie gestów wyboru w TextView, co z kolei powoduje uruchomienie wbudowanych mechanizmów kontroli kopiuj/wklej w systemie.

Istnieje również inny attribure TextView nazywa android:cursorVisible który określa, czy system powinien być wywoływany o callbacków kopiuj/wklej.

Domyślnie uważam, że obie te wartości są prawdziwe, a mechanizmy wyboru/kopiowania/wklejania są już włączone. Nie mogłem zmienić tego zachowania, używając android:textIsSelectable="false", ale jeśli ustawię android:cursorVisible="false" początkowo, nie można wkleić niczego wewnątrz EditText. Dopiero po wpisaniu czegoś, zachowanie kursora i zaznaczenia zostanie ponownie włączone. Może to powinno być obsługiwane wewnątrz kodu, a nie w układzie xmls, lub może być związane z android:inputType, co również nie miało dla mnie znaczenia.

Spróbuj ustawić android:cursorVisible="true" w układzie xml układu EditText, jeśli wklej nie jest domyślnie włączony.

0

Spróbuj ustawić inputType="text" na polu EditText

1

Według problemu jeśli kopiowane niektórych danych w każdym miejscu w systemie i chcesz wkleić go w jakiejś konkretnej zmiennej, jak Edytuj TextBox, Textview itp., Ten kod na pewno ci pomoże.

ClipboardManager clipMan = (ClipboardManager)getSystemService(v.getContext().CLIPBOARD_SERVICE); 
myEdtTxt.setText(clipMan.getText()); 

Uwaga: - tutaj przedmiotem clipMan będzie przechowywać dane, gdy kopiowane proces odbywać i wrócimy że dane z tego obiektu i go ustawić,

2

Aby umożliwić standardowego kopiuj/wklej do TextView, U może wybrać jedną z następujących czynności: zmian w pliku layoutu: Albo dodać poniżej własności do TextView

android:textIsSelectable="true" 

oraz w klasie Java piszę linii, aby ustawić programowo.

myTextView.setTextIsSelectable(true); 

jeśli fragment spróbuj

mContext.myTextView.setTextIsSelectable(true); 

naciśnij długo na TextView widać kopiowania/wklejania pasek akcji.

Powiązane problemy