2011-12-22 23 views
6

Chcę wybrać tekst wewnątrz EditText, który jest elementem potomnym ListView. Wybrany tekst należy ustawić w schowku. Nie mogę znaleźć żadnych przykładów na ten temat. Jak powinienem to zrobić? selectionStart i selectionEnd nie działają na tym. Dzięki.Wybierz tekst do skopiowania Android EditText

+0

Niestety, nie ma zbyt wiele czasu na pisanie wymagane dla danego problemu, kilka minut SO wyszukiwania dał mi to link, to może ci pomóc. Jeśli już próbowałeś tego, przepraszam.http: //stackoverflow.com/questions/2679948/focusable-edittext-inside-listview – kosa

+1

Mam explicity powiedział w komentarzu, nie ma czasu. Nie bądź zbyt dyktujący. Tutaj problem należy do Ciebie, a społeczność stara się Ci pomóc. Nie myśl, że społeczność napisze dla ciebie wszystko. Jeśli link nie jest przydatny, możesz go zignorować. Twoja każda reakcja dyktuje, a to nie jest dobre. – kosa

+0

Hej, niczego nie dyktuję. Próbuję powstrzymać społeczność przed niechcianymi odpowiedziami. Nie zrozum mnie źle! –

Odpowiedz

0

EditText już zapewniają tę funkcję przy długim naciśnięciu .... oznacza długie naciśnięcie na editText wyskakuje z menu kontekstowego z pytaniem wybierz wszystko, wybierz tekst, skopiuj wszystko.

+0

Spróbuj tego dokonać w widoku listy, a następnie omówimy to później. –

+0

Przepraszam, to był mój błąd, który nie widział tego samego w ListView. Teraz zastanawiam się, jak to zrobić. – Kri

1

użyć tego kodu na zdarzenie wyboru lista

ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); clipboard.setText(txtEdit.getText().toString());

+0

możesz spróbować, To nie zadziała. Próbowałem każdego możliwego wyjścia. Ale to nie działa. Występuje problem z ustawianiem listy w systemie Android. Zawsze myli elementy potomne i elementy macierzyste. –

0

jedno okno można otworzyć na EditText długo zdarzenia kliknięcia inlistView niestandardowego adaptera i wyświetlanie dwóch opcji Kopiuj i wklej w nich

można skopiować tekst programically użyciu

ClipboardManager clipboard = 
           (ClipboardManager) c1.getSystemService(c1.CLIPBOARD_SERVICE); 

         clipboard.setText("Text to copy"); 

i dostać Tekst Korzystanie

System.out.println(clipboard.getText()); 
+0

czy nie rozumiesz problemu. Listview ma problemy z elementami potomnymi. –

2

tutaj jest możliwe rozwiązanie. w metodzie getView z ListView wykonywanie następujących operacji:

enter code here: 

public View getView(final int position, View convertView, ViewGroup parent) { 
      // A ViewHolder keeps references to children views to avoid unneccessary calls 
      // to findViewById() on each row. 
      final ViewHolder holder; 


      if (convertView == null) { 
       convertView = mInflater.inflate(R.layout.main, null); 

       // Creates a ViewHolder and store references to the two children views 
       // we want to bind data to. 
       holder = new ViewHolder(); 


       holder.subText = (TextView) convertView.findViewById(R.id.subTxt);  

       convertView.setTag(holder); 
      } else { 
       // Get the ViewHolder back to get fast access to the TextView 
       // and the ImageView. 
       holder = (ViewHolder) convertView.getTag(); 
      } 

      //TEXT BOX position is 0 then 
      if(position == 0) { 

       ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); clipboard.setText(txtEdit.getText().toString()); 
      } 
      return convertView; 
     } 
+0

to nie zadziała. EditText nie będzie miał na tym koncentrować. –

0
InputConnection ic = getCurrentInputConnection(); 
ExtractedText extracted = ic.getExtractedText(
        new ExtractedTextRequest(), 0); 
      /*If selection start and end are not equal then selected text 
      * needs to be deleted and updated to core*/ 
      if (extracted!= null && extracted.selectionStart != extracted.selectionEnd) { 
} 

użycia podane przez ExtractedText api

Powiązane problemy