Come consentire all'utente di select un intervallo di text in un TextView (simile a EditText)

Ho un TextView che vorrei consentire all'utente di select una gamma di text dall'interno. Il TextView assume l'intera width e l'altezza del dispositivo (less una certa imbottitura e un titolo in alto). In un text EditText se si fa clic su lungo, si ottiene un'overlazione di selezione che consente di impostare i limiti di sinistra e di destra della selezione. Mi piacerebbe questa funzionalità in un TextView . Ho letto che nel livello API 9 (2.3) (http://developer.android.com/sdk/android-2.3.html) ci sono nuovi controlli di selezione dei testi, ma ho difficoltà a metterlo in pratica. Sto facendo questo adesso:

 eic = new InputConnection( bookTextView ); eic.beginBatchEdit(); 

Ma non fa niente di notevole. Qualcuno sa come utilizzare InputConnection correttamente? Grazie.

  • Come get tutti gli events dal calendario?
  • È onResume () chiamato su onActivityResult ()?
  • Come affrontare l'avvio a freddo di un'applicazione in cui l'utente ha registrato con Firebase in precedenza
  • Request.Browser.IsMobileDevice = falso per Android, perché?
  • Come utilizzare un database di mbtiles con Android TileProvider?
  • ritardo android usando il gestore
  • Modifica: non ho necessariamente bisogno di utilizzare quello che stavo tentando di sopra. In ultima analisi desidero utilizzare sia un TextView che un EditText che sembra e si sente come un TextView e sono in grado di select il text utilizzando un cursore di trascinamento. Poi vorrei manipolare il text selezionato con varie opzioni del menu contestuale (o un menu che si apre sopra il text selezionato).

  • Android Crea azione personalizzata SearchView Search
  • Codice di errore lollipop di Android -505 durante l'installazione
  • Come accedere all'archiviazione esterna con i plugin di file di cordova / file-system?
  • Android Studio 2.2. Anteprima 1 errore: "Utilizza JDK 8 o successivo"
  • Android ListView notifyDataSetChanged () da Servizio
  • Come salvare i dati in un'applicazione Android
  • 5 Solutions collect form web for “Come consentire all'utente di select un intervallo di text in un TextView (simile a EditText)”

    Ecco un'idea .. Aggiungi un EditText con uno background di TextView, ecco un esempio

     <EditText android:text=" This is not an editable EditText" android:id="@+id/EditText01" android:layout_width="wrap_content" android:textColor = "@android:color/white" android:editable = "false" android:cursorVisible="false" android:layout_height="wrap_content" android:background = "@android:drawable/dark_header"> </EditText> 

    aggiungi questo al tuo xml al posto di TextView

    È ansible abilitare lo storage spannabile di TextView . Vedere Highlight Text in TextView o WebView per un esempio.

    Guarda anche:

    http://developer.android.com/reference/android/text/Spanned.html

    Dopo una lunga navigazione in Internet per trovare una soluzione, preferivo creare la mia class personale

    https://github.com/orionsource/SelectableTextViewer

    immettere qui la descrizione dell'immagine

    Caratteristiche objective:

    1. Facile da usare – solo una class
    2. Supporto per il text e Html.fromHtml
    3. Può essere in ScrollView con i tocchi corretti
    4. I cursori possono essere ridefiniti
    5. Il colore della selezione può essere ridefinito

    È ansible visualizzare il text in un WebView e triggersre la selezione del text. Se si desidera utilizzare solo un textview / edittext, qui è una risposta che potrebbe aiutarti e qui sono le informazioni sulla class Spannable che potrebbero aiutarti a realizzare ciò che si desidera.

    In realtà, non è necessario sviluppare questa funzionalità da soli. È sufficiente utilizzare EditText invece TextView, mentre impostate l'android: modificabile di EditText a false. La mia idea è la stessa di sandy's.

    Il mio codice è qui, spero che ti possa aiutare:

    https://stackoverflow.com/a/11026292/966405

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.