0
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 Button button(int _intID)
       {
           Button btn = new Button(this);
           btn.setId(_intID);
           btn.setTag("but1");
           btn.setOnClickListener(newContact);


           return btn;


       }

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


                    LinearLayout layout =  (LinearLayout)v.getParent();

                    layout.removeViewInLayout(v);
                   // setContentView(layout);

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

        } 

在 newOnContact 监听器中,只有子按钮被删除,而不是包括 textView 和 EditText 的整个线性布局。怎么做?

4

3 回答 3

2

您可以使用 layout.setVisibility(View.INVISIBLE); 或 layout.setVisibility(View.Gone); 从 UI 中删除布局。

View.INVISIBLE 将隐藏视图,但仍会占用空间,而 View.GONE 将删除视图并且不会占用 UI 中的任何空间。

参考http://developer.android.com/reference/android/view/View.html#attr_android:visibility

于 2012-04-19T12:29:04.360 回答
1

只需使用 GONE 常量:

layout.setVisibility(LinearLayout.GONE)

那么你的线性布局将是不可见的,它也不会分配空间。

于 2012-04-19T12:15:23.923 回答
0

不要将newContactonClickListener设置Button为 ,而是尝试设置为LLMainLinearLayout。因此,如果我没有误解您,您在 中收到的观点就是onClick您要删除的观点。LinearLayout

于 2012-04-19T13:30:05.343 回答