2011-08-22 13 views
69

La mia applicazione ha barre di valutazione. Voglio impostare la barra di valutazione è non-clic in grado e non tangibile. Per questo ho aggiunto il seguente codice nel file xml di ciascuna barra di valutazione.android - Come impostare la barra di valutazione non è selezionabile e tangibile in HTC mobile

Sta funzionando in samsung galaxy Apollo GT-i5801. Ma non funziona nel cellulare HTC. Perché?

codice XML

android:clickable="false"  
android:focusableInTouchMode="false"  
android:focusable="false" 

grazie

+1

hai provato nella codifica come questo rating.setClickable (false); –

+0

No. Ma c'è qualche diff (parte xml e codice)? – naresh

+0

Non sicuro. Ma non l'ho ancora provato in xml. scusa –

risposta

258

Si può anche impostare la RatingBar come spia dal XML con il seguente:

android:isIndicator="true" 
+4

questa è la soluzione migliore se la si utilizza nella visualizzazione elenco. – AlbertRosa

+0

Grazie, questo ha risolto il mio problema in listview. – jackcar

16

non impostare permesso di falso come questo si attenua il controllo. Che cosa si vuole fare è ignorare la sul touch ascoltatore in questo modo:

import android.view.View.OnTouchListener; 

RatingBar ratingBar = (RatingBar)findViewById(R.id.ratingBar); 
ratingBar.setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
      return true; 
     } 
    }); 

Quindi sostanzialmente si intercettare il tocco e non fare nulla con esso

aggiungere anche il seguente codice troppo per bloccare rollover trackball

ratingBar.setFocusable(false); 
+6

Anche se ho scritto questa risposta e funziona, mi piace la risposta di Andy meglio sotto –

+4

android: isIndicator = "true" è la soluzione corretta – dirkoneill

+0

RISPOSTA ERRATA. Il modo corretto è: android: isIndicator = "true" (XML) o setIsIndicator (false) // CODICE – Sileria

15

Questo è lo scrivere questo codice nel tuo setOnRatingBarChangeListener

ratingaddrate.setIsIndicator(true); 

Aggiornamento:

È possibile utilizzare questo esempio nella tua XML

android:isIndicator="true" 

aggiungere anche questa linea al Codice

ratingBar.setFocusable(false); 
0

Questa è la soluzione migliore:

android: isIndicator = "true"

+1

Questa è la stessa risposta della risposta accettata, non capisco perché l'hai pubblicata. –

Problemi correlati