評価バーのクリックをキャッチするのに問題があるようです。評価バーは問題なく表示され、デフォルト値になっています。唯一の問題は、値を変更できないか、有効になっていないことです。私はさまざまなことを試しました(たとえば、レイアウトで有効にする、完全にJavaで構築する)。それらのどれも影響を与えていないようです。これが私の最新の評価バーの化身です。クリックをキャプチャできないようにするには、何かおかしなことをしている必要があります。
Javaコード:
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();
レイアウト:
<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>
前もって感謝します。
クレイグ