Android 移除子对象上的视图();imageview上的父级第一个错误

Android 移除子对象上的视图();imageview上的父级第一个错误,android,Android,我在ImageView中显示图像。单击该ImageView时,我会显示警报对话框并以更大的尺寸显示相同的图像,第一次工作正常,但第二次单击该ImageView时,我的logcat中出现以下错误,是否有帮助 07-24 05:20:39.657:E/AndroidRuntime(363):java.lang.IllegalStateException:指定的子级已具有父级。必须首先对子级的父级调用removeView() 这是我的密码 公共类MainActivity扩展了活动{ private B

我在ImageView中显示图像。单击该ImageView时,我会显示警报对话框并以更大的尺寸显示相同的图像,第一次工作正常,但第二次单击该ImageView时,我的logcat中出现以下错误,是否有帮助

07-24 05:20:39.657:E/AndroidRuntime(363):java.lang.IllegalStateException:指定的子级已具有父级。必须首先对子级的父级调用removeView()

这是我的密码

公共类MainActivity扩展了活动{

private Button btn;
ImageView image1;
AlertDialog.Builder alert;
int imgvi=R.drawable.rose;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    image1=(ImageView)findViewById(R.id.imgfull);
    image1.setImageResource(imgvi);
    alert=new AlertDialog.Builder(this);
    LayoutInflater inflater=MainActivity.this.getLayoutInflater();
    View layouti=inflater.inflate(R.layout.imageview,null);
    alert.setView(layouti);
    final ImageView img=(ImageView) layouti.findViewById(R.id.imgfull);
    alert.setTitle("FullImage");
    img.setImageResource(imgvi);
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
        }
    });
    image1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

        alert.show();   

        }
    });



}

}试试这种方法,希望这能帮助你解决问题。

活动\u main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <ImageView
        android:id="@+id/imgfull"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"/>

</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imgfull"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"/>

</LinearLayout>

很高兴能帮助您,请您批准此ans,以便帮助其他人谢谢。。。。
public class MainActivity extends Activity{

    ImageView image1;
    private int image = R.drawable.ic_launcher;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        image1=(ImageView)findViewById(R.id.imgfull);
        image1.setImageResource(image);


        image1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
              showImage(image);
            }
        });



    }

    public void showImage(int image){
        AlertDialog.Builder alert =new AlertDialog.Builder(this);

        View view = LayoutInflater.from(this).inflate(R.layout.imageview, null);
        alert.setView(view);
        ImageView img=(ImageView) view.findViewById(R.id.imgfull);
        alert.setTitle("FullImage");
        img.setImageResource(image);
        alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
            }
        });
        alert.show();

    }
}