Mon application a des barres d'évaluation. Je souhaite définir que la barre d'évaluation ne peut ni être cliquée ni être touchée. Pour cela, j'ai ajouté le code suivant dans le fichier xml
de chaque barre d'évaluation.
Il travaille dans la galaxie samsung Apollo GT-i5801. Mais cela ne fonctionne pas dans le HTC mobile. Pourquoi?
code xml
Android:clickable="false"
Android:focusableInTouchMode="false"
Android:focusable="false"
merci
Vous pouvez également définir RatingBar comme indicateur à partir du XML avec les éléments suivants:
Android:isIndicator="true"
Ne définissez pas enabled sur false car cela atténuera le contrôle. Ce que vous voulez faire, c'est remplacer l'écouteur tactile comme ceci:
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;
}
});
Donc, fondamentalement, vous interceptez le toucher sans rien faire
Ajoutez également le code suivant pour bloquer les renversements de trackball.
ratingBar.setFocusable(false);
C'est lui écrire ce code dans votre setOnRatingBarChangeListener
ratingaddrate.setIsIndicator(true);
Mise à jour:
Vous pouvez utiliser cet exemple dans votre XML
Android:isIndicator="true"
ajoutez également cette ligne au code
ratingBar.setFocusable(false);