2011-12-22 18 views
6

Voglio selezionare del testo all'interno di un EditText che è l'elemento figlio di un ListView. Il testo selezionato deve essere impostato su un blocco appunti. Non riesco a trovare alcun esempio in merito. Come dovrei andare su questo? selectionStart e selectionEnd non funzionano su questo. Grazie.Seleziona il testo per copiare Android EditText

+0

dispiace, non hanno molto tempo per scrivere necessario per il problema, a pochi minuti di SO ricerca mi ha dato questo link, questo può aiutarti. Se hai già provato questo mi dispiace.http: //stackoverflow.com/questions/2679948/focusable-edittext-inside-listview – kosa

+1

Ho detto esplicitamente nel commento non ho tempo. Non essere troppo dettare. Qui il problema è tuo e la comunità sta cercando di aiutarti. Non credo che la community scriverà tutto per te. Se il collegamento non è utile, puoi ignorarlo. Ogni tua risposta sta dettando e non va bene. – kosa

+0

Ehi, non sto dettando nulla. Sto cercando di impedire alla community di rispondere alle domande. Non fraintendermi! –

risposta

0

EditText fornisce già questa funzione a lunga pressione .... significa premere un tocco lungo su editText che si apre con il menu di scelta rapida che chiede di selezionare tutto, selezionare il testo, copiare tutto.

+0

Si prega di provare a farlo in una listview e quindi possiamo discuterne più tardi. –

+0

scusate, è stato un mio errore non vedere la stessa cosa in ListView. Ora mi chiedo anche come farlo. – Kri

1

Utilizzare questo codice evento di selezione lista

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

+0

puoi provarlo, non funzionerà. Ho provato ogni possibile via d'uscita. Ma non sembra funzionare. C'è un problema con l'attenzione sugli elenchi in Android. Confonde sempre tra elementi figlio e elementi genitori. –

0

È possibile aprire una finestra sul EditText clic lungo evento adattatore personalizzato inlistView e display a due copie opzione e incollare in loro

è possibile copiare il testo programically utilizzando

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

         clipboard.setText("Text to copy"); 

e ottenere testo utilizzando

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

non capisci il problema. Listview ha problemi con elementi figlio. –

2

ecco la possibile soluzione. nel metodo GetView di ListView eseguire le seguenti operazioni:

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

questo non funzionerà ... il testo di modifica non si concentrerà su questo. –

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) { 
} 

Usa api data dal ExtractedText

Problemi correlati