Java 如何在评级栏中计算和显示平均评级?
我是一个初学者程序员,我正在开发一个显示项目的应用程序。用户可以使用评级栏对项目进行评级,还可以撰写评论。评级栏也有一个刻度 如何计算项目的平均评分并将其显示在新的评分栏中?有什么想法吗Java 如何在评级栏中计算和显示平均评级?,java,android,rating,ratingbar,Java,Android,Rating,Ratingbar,我是一个初学者程序员,我正在开发一个显示项目的应用程序。用户可以使用评级栏对项目进行评级,还可以撰写评论。评级栏也有一个刻度 如何计算项目的平均评分并将其显示在新的评分栏中?有什么想法吗 RatingBar mRatingBar = (RatingBar) findViewById(R.id.ratingBar); EditText mFeedback = (EditText) findViewById(R.id.etFeedback); Button mSendFeedback
RatingBar mRatingBar = (RatingBar) findViewById(R.id.ratingBar);
EditText mFeedback = (EditText) findViewById(R.id.etFeedback);
Button mSendFeedback = (Button) findViewById(R.id.btnSubmit);
TextView mRatingScale = (TextView) findViewById(R.id.tvRatingScale);
mRatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float v, boolean b) {
mRatingScale.setText(String.valueOf(v));
switch ((int) ratingBar.getRating()) {
case 1:
mRatingScale.setText("Pretty bad");
break;
case 2:
mRatingScale.setText("Just okay");
break;
case 3:
mRatingScale.setText("Good");
break;
case 4:
mRatingScale.setText("Very good");
break;
case 5:
mRatingScale.setText("Amazing!");
break;
default:
mRatingScale.setText("");
}
}
});
mSendFeedback.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mRatingBar.getRating() == 0.0 ) {
Toast.makeText(EventDemo.this, "Please enter a rating", Toast.LENGTH_LONG).show();
} else {
mFeedback.setText("");
mRatingBar.setRating(0);
Toast.makeText(EventDemo.this, "Thanks for the rating", Toast.LENGTH_SHORT).show();
}
}
您可以使用RatingBar.getRating()获取每个评级值,将所有值相加,然后除以评级条的数量
RatingBar ratingBar = (RatingBar) findViewById(R.id.ratingBar1);
RatingBar ratingBar1 = (RatingBar) findViewById(R.id.ratingBar2);
float total = 0;
total += ratingBar.getRating();
total += ratingBar1.getRating();
float average = total / 2;
这是你想要的吗?请发表评论以避免误解。谢谢。公共类MainActivity扩展了AppCompatActivity{
私人评级杆rBar;
私人文本视图电视视图;
专用按钮btn;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rBar=(RatingBar)findViewById(R.id.ratingBar1);
tView=(TextView)findViewById(R.id.textview1);
btn=(按钮)findViewById(R.id.btnGet);
btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
int noofstars=rBar.getNumStars();
float getrating=rBar.getrating();
tView.setText(“评级:+getrating+”/“+noofstars”);
}
});
}
}
是,但我还想在新的评级栏上显示平均评级。我该怎么做?如果没有任何上下文、示例代码(代码片段或repo)和应用程序工作原理的一般概念,用户很难正确回答您的问题。请编辑您的问题以包含相关信息。将所有评分相加并将结果除以评分总数,然后使用显示用户评分的相同代码显示一般评分。感谢您的贡献。您提出的代码可能会解决原始海报的问题,但用几句话概括您的建议将获得更有价值的答案。考虑编辑你的答案来改进它!