我正在制作一个评级栏,允许用户评价某些内容。 因此,我使用这个java代码
setContentView(R.layout.restaurant_detail);
value=(TextView) findViewById(R.id.textView23) ;
rb=(RatingBar) findViewById(R.id.ratingBar);
rb.setOnRatingBarChangeListener(new
RatingBar.OnRatingBarChangeListener(){
@Override
public void onRatingChanged(RatingBar ratingBar,float rating,boolean fromUser){
value.setText("Rated:"+rating)}
});
和这个xml代码
<RatingBar
android:id="@+id/ratingBar"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="true"
android:numStars="5"
android:rating="4.5"
android:stepSize="0.5" />
<TextView
android:id="@+id/textView23"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView" />
但是当我按下它时,评级栏不会改变。我做了很多徒劳的搜索,请帮我解决问题。
答案 0 :(得分:0)
尝试修改此
rb.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
Toast.makeText(getApplicationContext(),"Your Selected Ratings : " + String.valueOf(rating),Toast.LENGTH_LONG).show();
}
});
答案 1 :(得分:0)
你可以这样做。
<RatingBar
android:id="@+id/ratingBar"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="false"
android:numStars="5"
android:rating="4.5"
android:stepSize="0.5" />
<TextView
android:id="@+id/textView23"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView" />
只需在android:isIndicator="false"
RatingBar
即可
然后在活动中使用。
rb.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener(){
@Override
public void onRatingChanged(RatingBar ratingBar,float rating,boolean fromUser){
value.setText("Rated:"+rating)}
});