2011-08-22 15 views
69

Uygulamamın derecelendirme çubukları var. Derecelendirme çubuğunu tıklamak mümkün ve no-touchable ayarlamak istiyorum. Bunun için her bir derecelendirme çubuğunun xml dosyasında aşağıdaki kodu ekledim.android - Rating çubuğunun nasıl ayarlanacağı HTC mobil cihazında tıklanabilir ve dokunulmaz olarak ayarlanabiliyor

Samsung galaxy Apollo GT-i5801'de çalışıyor. Ancak HTC cep telefonunda çalışmıyor. Niye ya? Bu denetimi loş gibi

xml kodu

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

sayesinde

+1

sen (yanlış) Bu rating.setClickable gibi kodlama denemiştir; –

+0

Hayır. Ama herhangi bir fark (xml ve kod parçası) var mı? – naresh

+0

Emin değilim. Ama henüz xml'de denemedim. Üzgünüm –

cevap

258

Ayrıca ile xml göstergesi olarak RatingBar ayarlayabilirsiniz aşağıdadır:

android:isIndicator="true" 
+4

Bu, liste görünümünde kullanıyorsanız en iyi çözümdür. – AlbertRosa

+0

Teşekkürler, bu, liste görünümündeki sorunumu çözdü. – jackcar

16

false etkin seti vermeyin. Ne yapmak istediğiniz böyle dokunmatik dinleyici üzerinde geçersiz olduğu:

Ayrıca topunu rollover'larını engellenemeyecek kadar aşağıdaki kodu ekleyin Yani temelde dokunuş müdahale ve onunla hiçbir şey yapmak

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

ratingBar.setFocusable(false); 
+6

Bu cevabı yazmam ve işe yaramasa da, Andy'nin cevabını –

+4

'un altında daha iyi seviyorum: isIndicator = "true" uygun çözüm – dirkoneill

+0

WRONG ANSWER. Doğru yol şudur: android: isIndicator = "true" (XML) veya setIsIndicator (false) // CODE – Sileria

15

Bu sizin setOnRatingBarChangeListener Bu kodu yazma

ratingaddrate.setIsIndicator(true); 

Güncelleme: Sen XML Bu örneği kullanabilirsiniz

android:isIndicator="true" 

da Kanununa bu satırı eklemek

ratingBar.setFocusable(false); 
0

Bu en iyi çözümdür:

android: isIndicator = "true"

+1

Bu, kabul edilen cevapla aynı cevaptır, neden bunu gönderdiğinizi anlamıyorum. –

İlgili konular