2015-01-15 2 views
0

두 가지 버튼 : 속도를 확인하고 속도를 지우려면 선택을 취소하십시오. 이 코드를 시도하고 처음 "ok"버튼을 누르면 클리어가 작동하지만 작동하지 않고 대화 상자가 닫힙니다. 클리어 버튼 클릭시 어떻게 방법을 바꿀 수 있습니까? 미리 감사드립니다.RatingBar 투명 별?

@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(); 
       } 
      }); 
+1

전역으로 RatingBar를 선언하십시오. 변수 이름에 Java 명명 규칙을 사용하십시오. 그리고 logcat에 오류가 있는지 확인하십시오. –

답변

1

지우기 버튼을 클릭 한 번에서 d.dismiss();이 줄을 제거하고 확인하십시오.

+0

d.dismiss()를 추가하지 마십시오. 귀하의 등급이 확인 될 때. 그리고 대답을 수락 – Pavya

+0

감사합니다! 나는 그 문제가 그렇게 생각하지 않았다. 이제 잘 작동합니다! – Nikita

관련 문제