繁体   English   中英

RatingBar清除星星?

[英]RatingBar clear stars?

有两个按钮:单击确定以确认费率,然后单击清除以清除费率。 我尝试了这段代码,当我第一次按下“清除”按钮时就可以了,清除也可以了,但是然后它不起作用并且对话框关闭。 单击清除按钮如何更改方法? 先感谢您。

    @Override
        protected void populateView(View rootView) throws Exception {
            super.populateView(rootView);
            voterestaurant.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    final Dialog d = new Dialog(getActivity());
                    d.setTitle("Rate it!");
                    d.setCancelable(false);
                    d.setContentView(R.layout.pf_frame_rating);
                    final RatingBar RatingBar = (RatingBar) d.findViewById(R.id.MyratingBar);
                    final TextView TextRate = (TextView) d
                            .findViewById(R.id.ratetext);
                    Button ok = (Button) d.findViewById(R.id.bt_confirm);
                    TextRate.setVisibility(View.INVISIBLE);


RatingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {

                                public void onRatingChanged(RatingBar ratingBar,
                                        float rating, boolean fromUser) {
                                    int rate = (int) RatingBar.getRating();

                                    Math.ceil(rate);
                                    // TextRate.setText(String.valueOf(rate));
                                    switch (rate) {
                                    case 0:
                                        TextRate.setText(String.valueOf("Pessimo"));
                                        break;
                                    case 1:
                                        TextRate.setText(String.valueOf("Scarso"));
                                        break;
                                    case 2:
                                        TextRate.setText(String.valueOf("Buono"));
                                        break;

                                    case 3:
                                        TextRate.setText(String
                                                .valueOf("Molto buono"));
                                        break;

                                    case 4:
                                        TextRate.setText(String
                                                .valueOf("Eccellente!"));
                                        break;
                                    }

                                    TextRate.setVisibility(View.VISIBLE);

                                }
                            });
                    ok.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            // memorizza valore rating
                            d.dismiss();
                        }
                    });
                    Button clear = (Button) d.findViewById(R.id.bt_clear);
                    clear.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {

                            RatingBar.setRating(0F);
                            RatingBar.setFocusable(true);
                            d.dismiss();
                        }
                    });
                    d.show();
                }
            });

删除d.dismiss(); 此行从清除按钮单击侦听器并进行检查。

暂无
暂无

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

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