-3

Toast を使用して 3 つの ratingBars の平均を表示しようとしていますが、常に 0.0 と表示されます。また、平均を文字列に変換しようとしましたが、うまくいきませんでした。助けてください。これが私のコードです:

float rating1 = ratingBar.getRating();
float rating2 = ratingBar2.getRating();
float rating3 = ratingBar3.getRating();
float average = (rating1+rating2+rating3) / 3;

final String formatFloat = Float.toString(average);

Button button1 = (Button) rootView.findViewById(R.id.button1);
button1.setOnClickListener(new android.view.View.OnClickListener() {
    public void onClick(View v) {
    // Implement your logic here

    Toast.makeText(PlaceholderFragment.this.getActivity(),formatFloat, 
                        Toast.LENGTH_SHORT).show();             
    }
});
4

4 に答える 4

1

精度が落ちているようです。これを試して:

float average = (rating1+rating2+rating3) / (float)3;
于 2014-06-02T04:38:14.507 に答える
0

の中に評価の計算部分を追加してsetOnClickListener確認できますか?以下のように。

Button button1 = (Button) rootView.findViewById(R.id.button1);
button1.setOnClickListener(new android.view.View.OnClickListener() {
    public void onClick(View v) {
    // Implement your logic here

float rating1 = ratingBar.getRating();
float rating2 = ratingBar2.getRating();
float rating3 = ratingBar3.getRating();
float average = (float)((rating1+rating2+rating3) / 3);

    Toast.makeText(getApplicationContext(),average + "", 
                        Toast.LENGTH_SHORT).show();             
    }
});
于 2014-06-02T04:57:57.367 に答える