I have a simple meal rater program that lets you rate a dish. I select number of stars and then select save. The number of stars selected should display as a float in rating TextView. Currently it will only display 0.0 in rating TextView.
How do I get the number of stars to display in the TextView as a float?
RatingBar
Rating not displaying in TextView
MealRater Dialog
MainActivity
MainActivity
public class MainActivity extends AppCompatActivity implements MealRaterDialog.GetRatingListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initChangeRating();
final RatingBar ratingRatingBar = (RatingBar) findViewById(R.id.ratingRatingBar);
Button submitButton = (Button) findViewById(R.id.buttonSave);
final TextView ratingDisplayTextView = (TextView) findViewById(R.id.rating);
}
private void initChangeRating(){
Button changeRating = findViewById(R.id.btnRateMeal);
changeRating.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getSupportFragmentManager();
MealRaterDialog mealRaterDialog = new MealRaterDialog();
mealRaterDialog.show(fm, "Rating");
}
});
}
@Override
public void didFinishDatePickerDialog(float rating) {
//put rating in textview. have a float instead of calendar like in contactlist
TextView showRating = findViewById(R.id.rating);
//showRating.toString();
showRating.setText(String.valueOf(rating));
Log.d(TAG, "didFinishDatePickerDialog: " + String.valueOf(rating));
//showRating.setText(float, rating);
//showRating.setText(TextView.BufferType.EDITABLE, rating);
}
}
MealRater Dialog
public class MealRaterDialog extends DialogFragment {
float rating;
public interface GetRatingListener{
void didFinishDatePickerDialog(float rating);
}
public MealRaterDialog()
{
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
// Create the view from the the xml.
final View view = inflater.inflate(R.layout.select_rater, container);
getDialog().setTitle("Save");
Button selectButton = view.findViewById(R.id.buttonSave);
//Button cancelButton = view.findViewById(R.id.buttonCancel);
selectButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//float rating = ratingRatingBar.getRating();
saveItem(rating);
}
});
return view;
}
private void saveItem(float rating) {
GetRatingListener activity = (GetRatingListener)getActivity();
activity.didFinishDatePickerDialog(rating);
getDialog().dismiss();
}
}




Code is missing from selectButton.setOnClickListener in MealRater Dialog.