hemanth
hemanth

Reputation: 191

Removing Layout on a button clilck

I am working on android.And i was creating an application in which i dynamically created a group of buttons on a button click.But what happens is buttons are created every time i click the button.i want this to happen once.Can i clear the space just at the beginning of OnClickListener()? i dunno how to do it.Below is my code.

button_generate.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                               //*-----------clearing the variables--------*
                        final TableLayout rel=(TableLayout)findViewById(R.id.tab1);



                        int k=0,i=0,j=0;

                                  count=3;
                                    System.out.println("count is"+count);

                                    while(j<count)      
                                    {



                                              TableRow tr = new TableRow(EspeakerActivity.this);
                                              //for(int c=1; c<=3; c++) {
                                                  Button b1 = new Button (EspeakerActivity.this);
                                                  Button b2= new Button (EspeakerActivity.this);
                                                  Button b3 = new Button (EspeakerActivity.this);
                                                  b1.setText("1");
                                                  b2.setText("2");
                                                  b3.setText("3");

                                                  b1.setTextSize(10.0f);
                                                 200));

                                                  tr.addView(b1, 100,50);
                                                  tr.addView(b2, 100,50);
                                                  tr.addView(b3, 100,50);

                                              rel.addView(tr);




                                        }


                            j++;
                                    }



                    }
                    }
                    );//*--------closing the button click------*

Upvotes: 0

Views: 119

Answers (4)

Kevin Adesara
Kevin Adesara

Reputation: 3830

You can clear your TableLayout on each button click as follows

....
onClick(View v) {
  final TableLayout rel=(TableLayout)findViewById(R.id.tab1);
  for(int x=0; x<rel.getChildCount(); x++)
  {
     View v = rel.getChildAt(x);
     rel.removeView(v);
  }
  ....
}

Upvotes: 0

Google
Google

Reputation: 2223

Hiding linear layout on runtime in Android

you can refer the link and i am sure you will get your ans.if not solve through this link then tell me.

Upvotes: 0

ngesh
ngesh

Reputation: 13501

TableRow tr = new TableRow(EspeakerActivity.this);
tr.setId(/*some id*/)
                                              //for(int c=1; c<=3; c++) {
                                                  Button b1 = new Button (EspeakerActivity.this);
                                                  Button b2= new Button (EspeakerActivity.this);
                                                  Button b3 = new Button (EspeakerActivity.this);
                                                  b1.setText("1");
                                                  b2.setText("2");
                                                  b3.setText("3");

                                                  b1.setTextSize(10.0f);
                                                 200));

                                                  tr.addView(b1, 100,50);
                                                  tr.addView(b2, 100,50);
                                                  tr.addView(b3, 100,50);
//check rel already has that tr.. if it has don't add anythin.. better if you do it before even creating the TAbleRow
                                              rel.addView(tr);

Upvotes: 0

Andreas Linden
Andreas Linden

Reputation: 12721

Give the buttons ID's and then use findViewByID() to see if the buttons already exist before adding them.

Upvotes: 1

Related Questions