在按钮上单击删除布局

时间:2012-04-12 06:37:08

标签: android

我正在研究android.And我正在创建一个应用程序,我在按钮上单击动态创建了一组按钮。但是每次单击按钮时都会创建按钮。我希望这发生一次。我可以在OnClickListener()?开头清空空间我不知道该怎么做。下面是我的代码。

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------*

4 个答案:

答案 0 :(得分:1)

给出按钮ID,然后使用findViewByID()在添加按钮之前查看按钮是否已存在。

答案 1 :(得分:0)

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);

答案 2 :(得分:0)

Hiding linear layout on runtime in Android

你可以参考链接,我相信你会通过这个链接解决你的问题 然后告诉我。

答案 3 :(得分:0)

您可以按每个按钮清除TableLayout,如下所示

....
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);
  }
  ....
}