簡體   English   中英

評級欄未顯示正確的評級。 僅顯示填充的星星

[英]Ratingbar not showing correct rating. Only filled stars are shown

我正在使用一個在RelativeLayout設置的評級欄以及一個ImageView和兩個TextViews RelativeLayout放在我的ListView中的一行中。

評級欄從項目中獲取其評級,該項目在ListView中選擇,但不顯示正確的“星形值”。

<RatingBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/item_rating"
        android:layout_toRightOf="@+id/item_icon"
        android:layout_below="@+id/item_Name"
        android:numStars="5"
        android:rating="3.5"
        android:stepSize="0.1"/>

例如:setRating(3.5f)將導致4顆滿星。

使事情變得更復雜:getRating(); 將返回正確的float值(在本例中為3.5)

float rating_value = currentCocktail.getRating();
        RatingBar rating = (RatingBar)itemView.findViewById(R.id.item_rating);
        rating.setIsIndicator(true);
        rating.setNumStars(5);
        rating.setMax(5);
        rating.setStepSize(0.1f);
        rating.setRating(rating_value);

        alc.setText(""+rating.getRating());

以上代碼用於設置評級。 alc將顯示在此代碼的第一行中收到的正確值。 然而,星星沒有正確顯示。

為了清楚起見:我的評級欄DOES接受浮點值,因為getRating()方法返回我使用setRating()方法設置的正確浮點值。 問題是,雖然我將stepSize設置為0.1f,但ratingbars星只顯示完全填滿的星星。

試試這段代碼:

rate_bar.setRating(Float.parseFloat("2.0"));

或直接使用浮動:

rate_bar.setRating(0.0f);

如果要設置默認評級值,可以使用

<RatingBar
        android:id="@+id/ratingBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="4"               <-- total number of stars -->
        android:stepSize="1.0"
        android:rating="2.0" />             <-- default value  -->

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM