3

ユーザー評価を受け入れ、合計評価を計算し、それをインジケーター評価バーに表示する Android 評価バー プログラムを作成しました。

ここで、Rating Bar プログラムにさらに 2 つの機能を追加したいと考えています。

  1. ListView で既存の評価バーを使用したい
  2. 次に、MyRatings などの別のアクティビティで高評価から低評価のアイテムを表示したい

私のJavaコード:-

public class InteractiveRatingBarActivity extends Activity implements
OnRatingBarChangeListener {
RatingBar getRatingBar;
RatingBar setRatingBar;
TextView countText;
int count;
float curRate;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    findViewsById();

    setRatingBar.setRating(curRate);
    getRatingBar.setOnRatingBarChangeListener(this);
}  

private void findViewsById() {
    getRatingBar = (RatingBar) findViewById(R.id.getRating);
    setRatingBar = (RatingBar) findViewById(R.id.setRating);
    countText = (TextView) findViewById(R.id.countText);
}

public void onRatingChanged(RatingBar rateBar, float rating,
        boolean fromUser) {
    DecimalFormat decimalFormat = new DecimalFormat("#.#");
    curRate = Float.valueOf(decimalFormat.format((curRate * count + rating)
            / ++count));
    Toast.makeText(InteractiveRatingBarActivity.this,
            "New Rating: " + curRate, Toast.LENGTH_SHORT).show();
    setRatingBar.setRating(curRate);
    countText.setText(count + " Ratings");
}
}

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<RatingBar
    android:id="@+id/getRating"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:numStars="5"
    android:stepSize="1.0" />

<RatingBar
    android:id="@+id/setRating"
    style="?android:attr/ratingBarStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/getRating"
    android:isIndicator="true"
    android:numStars="5"
    android:stepSize="0.1" />

<TextView
    android:id="@+id/countText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/getRating"
    android:layout_toRightOf="@+id/setRating"
    android:paddingLeft="10dp" />
</RelativeLayout>
4

0 に答える 0