2016-08-16 8 views
1

У меня проблема с моим приложением. После того, как пользователь нажимает кнопку «Финишная кнопка», появляется «AlertDialog», и пользователь может что-то оценить.Оценка Bar возвращает значение по умолчанию

Моя проблема в том, что пользователь нажимает кнопку ok из AlertDialog (positveButton), панель оценки возвращает значение по умолчанию (0.0). Я попытался использовать OnRatingBarChangeListener и сохранил рейтинг в переменной, но это тоже не сработало.


Java код:

public RatingBar ratingBar; 

AlertDialog

AlertDialog.Builder build = new AlertDialog.Builder(MainActivity.this); 
 
      final View view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.dialog_rating, null); // This a have from another Stackoverflow question 
 

 
build.setView(R.layout.dialog_rating); 
 
ratingBar = (RatingBar) view.findViewById(R.id.dialog_ratingBar); 
 
build.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener(){ 
 
    @Override 
 
    public void onClick(DialogInterface dia, int which) { 
 
    Log.i("[Rate]", String.valueOf(ratingBar.getRating())); //This returns 0.0 
 
    Log.i("[Rate]", "" + ratingBar); // Is Valid check 
 
    } 
 
}); 
 
AlertDialog dialog = build.create(); 
 
dialog.setTitle(R.string.rating_dialog_title); 
 
ialog.show();

XML код

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:orientation="vertical" 
 
    android:layout_width="wrap_content" 
 
    android:layout_height="wrap_content"> 
 

 
    <RatingBar 
 
     style="@android:style/Widget.DeviceDefault.RatingBar" 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:id="@+id/dialog_ratingBar" 
 
     android:numStars="5" 
 
     android:stepSize="0.5" 
 
     android:layout_gravity="center_horizontal" /> 
 

 
</LinearLayout>

Спасибо за вашу помощь

+0

Попробуйте эту ссылку: [Как получить рейтинг от Ratingbar] (http://stackoverflow.com/a/7332660/6541084) –

+0

Нет, проблема все еще существует, но спасибо за вашу помощь. –

ответ

0

Ok, я установил ее. Для тех, у кого есть такая же проблема: я изменил final View view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.dialog_rating, null); к final View view = this.getLayoutInflater().inflate(R.layout.dialog_rating, null);

Сейчас он работает отлично

+0

Получение значения сохранения. Вы можете мне помочь? – Queendevelopers

Смежные вопросы