报错的代码是:
The specified child already has a parent. You must call removeView() on the child's parent first大致是说你的弹出框中的view已经绑定了一个paren,就是你的弹出框。当你再次调用显示的时候,他以为你又要绑定到一个新的窗口上去。解决的方法是每次显示之前都重新填充设置view.如下:每次点击的时候调用:
public void startClick(View view){
LayoutInflater inflater = LayoutInflater.from(getApplication());
mFloatLayout = (LinearLayout)inflater.inflate(R.layout.province_item, null);
builder = new AlertDialog.Builder(MainActivity.this)
.setView(mFloatLayout);
ad = builder.show();
}
解决View重复绑定问题
本文介绍了一种常见的Android开发中关于弹出框内的View重复绑定到不同父元素的问题及解决方案。当试图将一个已绑定到某个父元素的View再次绑定到另一个父元素时会触发错误。文章提供了一个具体的示例来展示如何通过重新创建View实例来避免这个问题。
1210

被折叠的 条评论
为什么被折叠?



