Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create Clone-Duplicate View?

In my android application, I want to create duplicate ImageButton of already created Imagebutton.

I want to create new Imagebutton programmatically having same widht, height, background, image src, margins etc. of already created button in XML file. In short, I want to create duplicate ImageButton.

I have try this

ImageButton mImageButton = (ImageButton) findViewById(R.id.ib);
Imagebutton duplicate = mImageButton;

But it only refer to the the mImageButton. So, change in duplicate also cause change in mImageButton.

Please help me out. Thank you...

like image 502
Shaishav Jogani Avatar asked Apr 20 '15 09:04

Shaishav Jogani


1 Answers

You cannot clone views, the way to do it is to create your View each time.

You could always inflate the view multiple times from an XML or create a function to create the view programatically.

Inflation:

private void addImageButton(ViewGroup viewGroup) {    
    View v = LayoutInflater.from(this).inflate(R.layout.ib, null);
    viewGroup.addView(v);
}

Programatically:

private void addImageButton(ViewGroup viewGroup) {    
    ImageButton imageButton = new ImageButton(context);
    viewGroup.addView(imageButton);
}
like image 199
Numan1617 Avatar answered Nov 02 '22 21:11

Numan1617