如何通过单击unclicking单选按钮来动态移除LinearLayout?

问题描述:

这是我的代码添加一个新的线性布局:如何通过单击unclicking单选按钮来动态移除LinearLayout?

public void onClick_addContact(View v) 
    { 
      LinearLayout layout = (LinearLayout) findViewById(R.id.layoutLinear); 
      layout.addView(linearlayout(_intMyLineCount)); 
      _intMyLineCount++; 



    } 


    private EditText editText(int _intID) { 
      EditText editText = new EditText(this); 
      editText.setId(_intID); 
      editText.setHint("My lines"); 
      editText.setWidth(180);   

      editTextList.add(editText); 
      return editText; 
     } 

     private TextView textView(int _intID) 
     { 
      TextView txtviewAll=new TextView(this); 
      txtviewAll.setId(_intID); 
      txtviewAll.setText("My lines:");   

      textviewList.add(txtviewAll); 
      return txtviewAll; 
     } 

     private RadioButton button(int _intID) 
     { 
      RadioButton btn = new RadioButton(this); 
      btn.setId(_intID); 
      btn.setOnClickListener(newContact); 


      return btn; 


     } 

     OnClickListener newContact = new OnClickListener() { 
       //onClick view 
       public void onClick(View v) { 


        LinearLayout layout = (LinearLayout) findViewById(R.id.layoutLinear); 

        layout.addView(linearlayout(_intMyLineCount)); 

         _intMyLineCount++; 


       } 
       }; 

     private LinearLayout linearlayout(int _intID) 
     { 
      LinearLayout LLMain=new LinearLayout(this); 
      LLMain.setId(_intID);  
      LLMain.addView(textView(_intID)); 
      LLMain.addView(editText(_intID)); 
      LLMain.addView(button(_intID)); 
      LLMain.setOrientation(LinearLayout.HORIZONTAL); 
      linearlayoutList.add(LLMain); 
      return LLMain; 

     } 
} 

截至目前,如果点击任何单选按钮,然后一个新的线性布局被添加。我如何改变这一点,如果单击任何单选按钮,那么相应的线性布局会被删除?

+0

(未)舔按钮? eww:p – ThiefMaster 2012-04-19 07:50:05

使用setVisibility方法。如果你知道布局的ID,你可以做做findViewById然后用myLayout.setVisibility(View.GONE)

您在为exmeple“所对应的第一个单选按钮的布局”,你可以检索此布局与findViewByTag删除新的LinearLayout设置的标签。

LinearLayout layout = (LinearLayout) findViewById(R.id.layoutLinear); 
layout.removeView(findViewById(removeId)); 

应该是有帮助..