如何通过单击取消单击单选按钮动态删除LinearLayout?

时间:2012-04-19 07:46:22

标签: android radio-button android-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;

        } 
}

截至目前,如果单击任何单选按钮,则会添加新的线性布局。如何更改此项,如果单击任何单选按钮,则相应的线性布局将被删除?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

应该有帮助..

答案 2 :(得分:0)

您在新的LinearLayout上设置了一个标签,用于exmeple“与第一个单选按钮对应的布局”,您可以使用findViewByTag检索此布局以将其删除。