如何获得RatingBar值

Pow*_*fet 12 android

如何阅读和显示评级栏值

i[0] // should be selected value

private OnClickListener onclickbutton1 = new OnClickListener() {
    public void onClick(View v) {
        int[] i = new int[]{ R.id.mRatingBar};

        statusMessage.setText("value is " + i[0]);
    }
};
Run Code Online (Sandbox Code Playgroud)

//这个有效

private OnClickListener onclickbutton1 = new OnClickListener() {
    public void onClick(View v) {
        RatingBar mBar = (RatingBar) findViewById(R.id.mRatingBar);

        float[] i = new float[]{ mBar.getRating() };

        statusMessage.setText("value is.. " + i[0]);
    }
};
Run Code Online (Sandbox Code Playgroud)

mar*_*c1s 25

你在这里做的不对:你输出评级栏的资源ID,而不是它的值.

让我假设您之前做过类似的事情:

RatingBar mBar = (RatingBar) findViewById(R.id.mRatingBar);
mBar.setOnClickListener(onclickbutton1);
Run Code Online (Sandbox Code Playgroud)

例如在活动中onCreate().然后在您提供的on click侦听器中,您可以获得如下评级:

public void onClick(View v) {
    RatingBar bar = (RatingBar) v;
    statusMessage.setText("value is " + bar.getRating());
}
Run Code Online (Sandbox Code Playgroud)


bHa*_*aTh 7

简单的电话

  ratingBar.getRating() ; GET RATING BAR VALUE
Run Code Online (Sandbox Code Playgroud)

如果要在更改时获得评级值

     public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromTouch) {

     final int numStars = ratingBar.getNumStars();
     ratingBar.getRating() ;
     final float ratingBarStepSize = ratingBar.getStepSize();

}
Run Code Online (Sandbox Code Playgroud)