0

私はアンドロイドが初めてで、アプリケーションでRatingBarを使用していますが、RatingBarの星の選択に基づいて評価の数を数えたいと思っています。私が使用した: num_of_rating = rating.getRating(); 私のアプリケーションでは、その数を取得できません。答えを知っている人がいたら、解決策を教えてください。

4

3 に答える 3

2

xml ファイル:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout   
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView android:id="@+id/ratingText" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    <RatingBar android:id="@+id/rating" 
        android:isIndicator="false"
        android:stepSize="1.0" 
        android:numStars="5" 
        android:rating="0.0" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">
    </RatingBar>

</LinearLayout>

アクティビティ

ratingText=(TextView)findViewById(R.id.ratingText);
        rating=(RatingBar)findViewById(R.id.rating);
        rating.setOnRatingBarChangeListener(this);

    }

    // implement abstract method onRatingChanged
    public void onRatingChanged(RatingBar ratingBar,float rating, boolean fromUser){
        ratingText.setText(""+this.rating.getRating()); 
    }
于 2013-02-08T10:30:28.800 に答える
0
ratingBar = (RatingBar) findViewById(R.id.ratingBar);
btnSubmit = (Button) findViewById(R.id.btnSubmit);

//if click on me, then display the current rating value.
btnSubmit.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        Toast.makeText(MyAndroidAppActivity.this,
            String.valueOf(ratingBar.getRating()),
                Toast.LENGTH_SHORT).show();

    }

});
于 2013-02-08T10:26:48.793 に答える
0

次のコードを使用します

float num_of_rating = 0.0f;

RatingBar ratingbar_rb = (RatingBar)findViewById(R.id.ratingbar_rd);

ratingbar_rb.setOnRatingBarChangeListener(新しいOnRatingBarChangeListener() {

        @Override
        public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromTouch) {
             num_of_rating = rating;
        }});
于 2013-02-08T10:31:50.863 に答える