即時ヘルプが必要です!コードが正常に動作するために使用されるが、しばらくすると、私は評価t work anymore and gives "the specified child already has a parent, call removeView() first..." on the
alertDialog.showを()のdoesn気づい; `ライン:指定された子は、膨張したビューで親エラーを既に持っています
///// 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();
}
});
//////
奇妙なことに、私はそれがクラッシュしないremoveAllViews()
またはremoveView()
だけalertDialog.show();
前に呼び出す場合は開きます私は格付けと現在のアクティビティやスムーズの両方を見ることができます。また、問題はコード内の他の場所にある可能性があります。これは、正常に動作するために使用されていたため、どのようなアイデアが必要なのでしょうか?
ため
View
として設定することレイアウトを膨らませるためにしようとしている場合はその後、あなたはrateDialogBuilder.setView(layout);
を行う別の親にそれを追加していますエラーは? –
その問題では、alertDialog.show();エラー – user975869