2012-04-19 2 views
0

Это мой код, чтобы добавить новую линейную планировку:Как динамически удалять 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

(un-) лижут? eww: p – ThiefMaster

ответ

1

Используйте метод setVisibility. Если вы знаете идентификатор макета, вы можете сделать findViewById, а затем использовать myLayout.setVisibility(View.GONE).

0

Вы устанавливаете тег в новом LinearLayout для exmeple «макет, соответствующий первому переключателю», и вы можете получить этот макет для удаления его с помощью findViewByTag.

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

Должно быть полезными ..

кнопки