您的位置:首页 > 其它

有关于对话框中放入布局的问题

2013-04-17 14:57 162 查看
The specified child already has a parent. You must call removeView

对于经常看见的removeView()异常,网上的一些方法给出,

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);

LinearLayout parent = (LinearLayout) inflater.inflate(R.layout.main, null);

ImageView child = (ImageView)parent.findViewById(R.id.child);

setContentView(parent);

[java] view
plaincopy

把上04row 改为setContentView(child);

并在03row 加入parent.removeView(child);的方法虽然解决了,但是view被over了

在这里我找了一种好办法可以避免出现此种异常。

[java] view
plaincopy

在布局中加入

<com.example.db2.FileBrowser xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/filebrowser" >引入外部xml文件

接下来

fileBrowserView = getLayoutInflater().inflate(R.layout.select_photo,null);

//fileBrowser

fileBrowser = (FileBrowser) fileBrowserView.findViewById(R.id.filebrowser);

fileBrowser.setOnFileBrowserListener(this);

//文件FileBrowser对象已经获得,

alertDialog = new AlertDialog.Builder(this)

.setTitle("选择头像")

.setIcon(R.drawable.select_photo)

.setView(fileBrowserView)

.setPositiveButton("关闭", null)

.create();

alertDialog.show();

即可加载自定义布局。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: