El niño especificado ya tiene un error de padre en la vista inflado

¡Ayuda inmediata necesaria! El código utilizado para trabajar bien, pero después de un tiempo me di cuenta de la clasificación ya no t work anymore and gives "the specified child already has a parent, call removeView() first..." on the alertDialog.show (); `

 ///// Rating bar initialising Context mContext = ShowActivity.this; LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE); layout = inflater.inflate(R.layout.custom_rate_dialog, (ViewGroup) findViewById(R.id.layout_root)); final RatingBar rating_indicator = (RatingBar)findViewById(R.id.rating_bar_cafe_indicator); final float current_rating = (float)mDbHelper.getInt(mRowId, type, RATE_COLUMN); rating_indicator.setRating(current_rating); rateDialogBuilder = new AlertDialog.Builder(ShowActivity.this); rateDialogBuilder.setView(layout); rateDialogBuilder.setCancelable(false); rateDialogBuilder.setIcon(R.drawable.rate_star_med_on); rateDialogBuilder.setTitle("RATE IT!"); rateDialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { rating_indicator.setRating(mDbHelper.getInt(mRowId, type, RATE_COLUMN)); ((ViewGroup)layout.getParent()).removeView(layout); dialog.cancel(); } }); ratingText = (TextView) layout.findViewById(R.id.rate_text); rating = (RatingBar) layout.findViewById(R.id.rating_bar_cafe); rating.setRating(current_rating); rating.setStepSize(1); rating.setOnRatingBarChangeListener(ShowActivity.this); if ((int)current_rating != 0) ratingText.setText("Your rating: " + (int)current_rating); Button rateButton = (Button) findViewById(R.id.button_rate); rateButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { AlertDialog alertDialog = rateDialogBuilder.create(); alertDialog.show(); } }); ////// 

Extraño, si llamo removeAllViews() o removeView() justo antes de alertDialog.show(); No se bloquea, pero abre desordenado el diálogo donde puedo ver tanto la calificación y la actividad actual o smth. También el problema podría estar en otro lugar en el código porque esto funcionaba bien, cualquier idea ¿qué debo buscar o cómo cambiar esto para que funcione?

El error que obtienes es que estás agregando una View a un padre después de que ya se haya agregado a un padre.

Mirando su código, parece que,

 layout = inflater.inflate(R.layout.custom_rate_dialog, (ViewGroup) findViewById(R.id.layout_root)); 

Agrega custom_rate_dialog a tu layout_root. A continuación, lo rateDialogBuilder.setView(layout); a otro padre cuando rateDialogBuilder.setView(layout);

Si sólo está tratando de inflar ese diseño para establecerlo como la View para el Dialog , sólo tiene que hacer

 layout = inflater.inflate(R.layout.custom_rate_dialog, null); 
  • ¿Cómo crear un semicírculo transparente?
  • View.onMeasure () no se llama
  • Mostrar sugerencias para un vacío SearchView
  • Cómo resaltar el texto filtrado mientras se usa el widget SearchView en android
  • Android SlidingPaneLayout se desvanece en las vistas incorrectas
  • Android: SearchView no abre Actividad
  • Android: Elementos de interfaz de usuario sobre capa de lienzo
  • ¿Cómo manejar hacer clic en las vistas secundarias y tocar en los ViewGroups de los padres?
  • Android: ¿Proporciona sugerencias de búsqueda recientes sin actividad de búsqueda?
  • Vista de niño androide sin estado de prensa
  • Error al hacer referencia a una clase interna Ver en layout / main.xml
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.