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

onClickListenerをに設定する代わりに、newContactLinearLayoutにButton設定してみてLLMainください。ですから、私があなたを誤解していなければ、あなたが受け取る見解はあなたonClickLinearLayout削除したいものです。

于 2012-04-19T13:30:05.343 に答える