1
ListView
의 각 항목에 RatingBar
을 추가했습니다. 잘 작동하지만 정확한 등급이 표시되지 않습니다. 예를 들어 점수가 4.3이면 5 번째 별의 일부를 표시해야하지만 은이 아닙니다.RatingBar deosn't 명시된 등급
스크린 샷 :
첫 번째 항목의- 평가 = 두 번째 항목의 4.3
- 평가 =
4.5
나는 도움이나 제안을 기쁘게 생각합니다. 내 어댑터에서의 getView에서
ratingsbar.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+android:id/background"
android:drawable="@drawable/ic_action_star_rate1" />
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/ic_action_star_rate1" />
<item android:id="@+android:id/progress"
android:drawable="@drawable/ic_action_star_rate" />
</layer-list>
방법()
if(clubs.getInt("clubRating")!= 0){
holder.rating.setRating((float) (clubs.getInt("clubRating")));
}else{
holder.rating.setRating(0);
}
항목 레이아웃
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="220dp"
android:minHeight="220dp"
android:background="@drawable/club_item"
android:id="@+id/clubAll" >
<ImageView
android:id="@+id/club_poster"
android:layout_width="match_parent"
android:layout_height="220dp"
android:src="@drawable/placeholder"
android:scaleType="centerCrop" />
<ImageView
android:id="@+id/club_vip_small"
android:layout_width="48dp"
android:layout_height="48dp"
android:scaleType="fitXY"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
/>
<TextView
android:id="@+id/club_events_true"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:padding="2dp"
android:textSize="13sp"
android:textColor="#FFFFFF"
android:gravity="center_vertical"
android:paddingRight="7dp"
android:text="@string/events_true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:background="#00C659"
android:drawableLeft="@drawable/eventsup" />
<TextView
android:id="@+id/club_discounts_true"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:padding="2dp"
android:paddingRight="7dp"
android:textSize="13sp"
android:gravity="center_vertical"
android:textColor="#FFFFFF"
android:text="@string/discounts_true"
android:layout_alignParentLeft="true"
android:layout_below="@id/club_events_true"
android:background="#F6D100"
android:drawableLeft="@drawable/golden_discount" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:minHeight="75dp"
android:layout_alignParentBottom="true"
android:background="#FFFFFF"
android:id="@+id/club_head_info" >
<com.example.android.ImageViewRounded
android:id="@+id/club_club_logo"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/placeholder_club"
android:scaleType="fitXY"
android:layout_marginLeft="5dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" />
<com.example.android.AutofitTextView
android:id="@+id/club_distance_small"
android:layout_width="57dp"
android:layout_height="57dp"
android:background="@drawable/meters_back"
android:layout_marginLeft="5dp"
android:gravity="center"
android:singleLine="true"
android:padding="3dp"
android:textSize="16sp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginLeft="10dp"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/club_club_logo"
android:id="@+id/club_foot_info" >
<TextView
android:id="@+id/club_type_fake"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bar"
android:paddingRight="4dp"
android:visibility="invisible"
android:textStyle="bold"
android:paddingLeft="4dp"
android:paddingTop="2dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:paddingBottom="2dp"
android:textAllCaps="true"
android:textSize="11sp"
android:textColor="#FFFFFF"
android:layout_marginRight="4dp"
android:background="@drawable/type_btn_bar" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:id="@+id/club_typerate"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
<TextView
android:id="@+id/club_type_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bar"
android:paddingRight="4dp"
android:textStyle="bold"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:paddingLeft="4dp"
android:textAllCaps="true"
android:textSize="11sp"
android:textColor="#FFFFFF"
android:background="@drawable/type_btn_bar" />
<RatingBar
android:id="@+id/club_rating_small"
android:padding="1dp"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toRightOf="@id/club_type_small"
android:layout_centerVertical="true"
android:isIndicator="true"
android:stepSize="0.01"
android:numStars="5"
style="@style/foodRatingBar"
/>
</RelativeLayout>
<TextView
android:id="@+id/club_title_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:textSize="16sp"
android:singleLine="true"
android:text="ROXY Prague"
android:ellipsize="end"
android:padding="1dp"
android:layout_below="@id/club_type_fake"
android:layout_marginTop="3dp"
android:textColor="#000"
android:textStyle="bold"
/>
<TextView
android:id="@+id/club_openclose_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:textSize="14sp"
android:gravity="fill"
android:text="@string/open"
android:textColor="#00AC00"
android:layout_below="@id/club_title_small"
/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
'clubs.getInt ("clubRating") ', 오른쪽, i.e.4을 int 값을 제공해야합니까? –
제 질문을 새로 고치십시오. 항목의 값은 4.3 및 4.5입니다. 문제가있는 곳 – marson
여기에 디버깅하라고 알려주고 있습니다 :'holder.rating.setRating ((float) (clubs.getInt ("clubRating"))); '. 'getInt'는 int 값을 반환합니다. 4.3 또는 4.5 일 수는 없지만 단지 4. 다시 확인하십시오. float 값을 저장하고 float 값을 가져와야합니다. 그럼'setRating' 제대로 작동해야합니다. –