2017-08-10 8 views
0
   // Custom Dialog Box 
       final AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this, R.style.Theme_AppCompat_Dialog_Alert); 
       final View mView = getLayoutInflater().inflate(R.layout.completed, null); 
       ImageButton imgForm = (ImageButton) mView.findViewById(R.id.RateButton); 

       mBuilder.setCancelable(false); 
       mBuilder.setView(mView); 

       final AlertDialog dialog = mBuilder.create(); 
       dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
       dialog.show();        // Dialogbox appears 



       // Interest Rating 
       final AlertDialog.Builder nBuilder = new AlertDialog.Builder(MainActivity.this, R.style.Theme_AppCompat_Light_Dialog_Alert); 
       final View nView = getLayoutInflater().inflate(R.layout.intrst, null); 
       Save_Intrst = (Button) nView.findViewById(R.id.SaveIntrst); 

       nBuilder.setCancelable(false); 
       nBuilder.setView(nView); 
       final AlertDialog dilog = nBuilder.create(); 

       // LongPress Image Button 
       imgForm.setOnLongClickListener(new View.OnLongClickListener(){ 
        @Override 
        public boolean onLongClick(View view){ 

         dialog.dismiss(); 
         dilog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
         dilog.show();   // Dialogbox appears 
         return true; 
        } 
       }); 


       Save_Intrst.setOnClickListener(new View.OnClickListener(){ 
        String IntrstLvl; 
        @Override 
        public void onClick(View v){ 

         RatingBar rBar = (RatingBar)nView.findViewById(R.id.ratingStar); 

         IntrstLvl = Integer.toString(rBar.getNumStars()); 

         addData(IntrstLvl); 

         dilog.dismiss(); 
         Log.d(TAG,"Dismissed"); 
        } 
       }); 

Save_Intrst内で「保存」を選択すると、選択したものに関係なく5つの星が保存されます。私はまだAndroid開発の新機能で、Javaコーディングをしています。Dialogboxの星評価は保存された値を変更しません

これはプロジェクトのコードスニペットであり、私はそれが十分であると信じています、私の送信ボタンを表示します、送信ボタンは、イメージ(ImgForm)の画像に秘密ボタンを持つダイアログボックスを起動します表示されませんが、それは問題ではありませんが、長押し後に別のダイアログが起動し、5つ星評価バーと保存ボタンが表示されます。これは、前の要件を完了した後に評価するために使用されます。評価は、デバイスにアプリを再インストールした後でも、挿入された内容にかかわらず常に「5」を保存します。

答えて

1

getNumStars()は、表示される星の最大数を示し、定義したとおりに常に5になります。実際に選択した評価を希望する場合は、getRating()が必要です。 this documentationを参照してください。

1

あなたはrBar.getRating()

RatingBar rBar = (RatingBar)nView.findViewById(R.id.ratingStar); 

IntrstLvl = Integer.toString(rBar.getRating()); 
あなたはマニュアルに従って getNumStars()呼んでいる
関連する問題