Java Android无需可绘制的更改图像

Java Android无需可绘制的更改图像,java,android,view,imagebutton,android-framelayout,Java,Android,View,Imagebutton,Android Framelayout,我有一个片段,它有一个文本视图和按钮列表。有一个图像按钮,当点击它时,我可以选择一张图片。我想更改按钮中的图像以匹配所选图片 单击“图像”按钮时,用户可以从数据库中的图像列表中进行选择,并返回所选视图。我已经看了其他问题,我看到要改变图像,你需要它是一个可绘制的,这在我的情况下不工作。因此,我尝试使用FrameLayout并添加视图(视图包含图像),但出现了一个错误:指定的子级已经有父级。必须首先对子级的父级调用removeView() 当选择片段即将关闭的图像时,将调用下面的方法: Image

我有一个片段,它有一个文本视图和按钮列表。有一个图像按钮,当点击它时,我可以选择一张图片。我想更改按钮中的图像以匹配所选图片

单击“图像”按钮时,用户可以从数据库中的图像列表中进行选择,并返回所选视图。我已经看了其他问题,我看到要改变图像,你需要它是一个可绘制的,这在我的情况下不工作。因此,我尝试使用FrameLayout并添加视图(视图包含图像),但出现了一个错误:指定的子级已经有父级。必须首先对子级的父级调用removeView()

当选择片段即将关闭的图像时,将调用下面的方法:

ImageButton i = (ImageButton) getActivity().findViewById(R.id.pic);
i.setVisibility(View.INVISIBLE);

FrameLayout f = (FrameLayout)getActivity().findViewById(R.id.frameLayout);
f.setVisibility(View.VISIBLE);
f.addView(newPic); //error occurs on this line

getActivity().getSupportFragmentManager().beginTransaction().remove(this).commit();

图像按钮是我的目标,在框架布局。有没有办法保留图像按钮?如果没有,如果我从孩子的父视图中删除视图,为什么会出现错误?

在哪里初始化
newPic
?是否阅读了ImageButton文档?