-1

How can I create a imagebutton when user clicks on button. I tried different solutions but none help.

public void onCreate(Bundle savedInstanceState){

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


OnClickListener oclBtnOK =new OnClickListener(){

        public void onClick(View V) {

            getImageButton();


        }

        private void getImageButton() {
            ImageButton imgbtn = new ImageButton(null, null);
            imgbtn.getContext();    
            }


    };
    button1.setOnClickListener(oclBtnOK);
}
halfer
  • 19,824
  • 17
  • 99
  • 186

2 Answers2

0

You can resolve this in multiple ways (if I understood well your question...)

  • You add your imageView directly in your xml layout and set its visibility to GONE. Then, in your click listener you can just do

    findViewById(R.id.your_image_button).setVisibility(View.VISIBLE);

  • Or you create a new ImageButton just like you did, but you have to add it to your layout (let's say your main layout of your activity is a LinearLayout called main_layout) :

    ((LinearLayout)findViewById(R.id.main_layout)).addView(imgbtn);

Tr4X
  • 309
  • 1
  • 8
0

try like this if you want to do programaticallly

 LayoutParams params;
LinearLayout mainLayout;
Button but;
ImageButton iBut;


@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);


 mainLayout = new LinearLayout(this);

 but = new Button(this);
 iBut=new ImageButton(this);
 params = new LayoutParams(LayoutParams.WRAP_CONTENT,
           LayoutParams.WRAP_CONTENT);

 mainLayout.addView(but, params);
 but.setText("Click Me");
 but.setOnClickListener(new OnClickListener() {

  public void onClick(View v) {
      mainLayout.addView(iBut, params);
      setContentView(mainLayout);
  }

 });



 setContentView(mainLayout);
}
NavinRaj Pandey
  • 1,674
  • 2
  • 26
  • 40