Reytingi tıklamakla ilgili bir sorunum var gibi görünüyor. Derecelendirme çubuğu, yalnızca iyi görünüyor ve varsayılan değere sahip. Tek sorun, herhangi bir değeri değiştiremem ya da etkin değil. Çok farklı şeyleri denedim (örneğin, mizanpajı etkinleştirme, tamamen java'da inşa etme). Hiçbirinin bir etkisi yok gibi görünüyor. İşte en son derecelendirme çubuğunun enkarnasyonu. Tıklamayı yakalayamamak için stooopid bir şey yapmalıyım.Capture RatingBar Click
Java Kodu:
RatingBar showRatingBar = (RatingBar) findViewById(R.id.showRatingBar);
showRatingBar.setEnabled(true);
showRatingBar.setClickable(true);
showRatingBar.setRating(0);
showRatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener(){
@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
System.out.println("showRating.buildRatingBar: " +rating);
ratingBar.setRating(rating);
}});
showRatingBar.refreshDrawableState();
Düzen:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/showQualityLabel"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="@string/show_rating_label"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#E6E6E6"
android:textSize="12sp" />
<RatingBar
android:id="@+id/showRatingBar"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:max="5"
android:numStars="5"
android:rating="0"
android:stepSize="1"/>
</LinearLayout>
şimdiden teşekkürler.
Craig
Maalesef hiç şans onTouchEvent geçersiz kılar. Tıklamalarımı veya derecelendirmelerdeki herhangi bir değişikliği tanımak için hala hiçbir şey alamıyorum. Garip?!?! – mornindew
Bunu yapmanın bir yolunu buldum, bunu deneyin :) – Talha
Nice !!! Tam olarak buydu. Anahtar, onTouch işleviydi. Çok teşekkür ederim. – mornindew