繁体   English   中英

防止在RatingBar上获得某些评级

[英]Prevent certain rating on RatingBar

评级栏有一个OnRatingBarChangeListener ,仅在用户已更改评级时才有效。 我想当用户点击评级栏以获得3星评级时, RatingBar会提示不允许3星评级的Toast

这段代码可以帮到你。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_rating);
        RatingBar ratingBar;
        ratingBar = (RatingBar)findViewById(R.id.ratingBar);
        ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {

            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {
                // TODO Auto-generated method stub
                if(rating == 3){
                    Toast.makeText(getApplicationContext(), "3 star rating is not allowed.", Toast.LENGTH_LONG).show();
                    ratingBar.setRating(0);
                }
            }
        });
    }

U可以通过onRatingChanged方法中的onRatingBarChangedListener获取用户设置的评级。

ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {

    public void onRatingChanged(RatingBar ratingBar, float rating,
        boolean fromUser) {

        if(rating == 3){
             //show toast here. then may be reset rating to 0.
        }

     }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM