2017-01-03 10 views
0

レイアウト内に複数のボタンを動的に作成しました。次に、使用後にこのレイアウトを削除する方法はありますか。例えば
: -アンドロイドでレイアウトを削除するにはどうすればよいですか?

LinearLayout parent = new LinearLayout(this); 

    parent.setLayoutParams(new LinearLayout.LayoutParams(
      LinearLayout.LayoutParams.MATCH_PARENT, 
      LinearLayout.LayoutParams.WRAP_CONTENT)); 
    parent.setOrientation(LinearLayout.HORIZONTAL); 

    for (int i = 0; i < 10; i++) { 
     Button b = new Button(this); 
     b.setText("Primary"); 

     Drawable image = ContextCompat.getDrawable(
       getApplicationContext(), 
       R.drawable.your_image); 
     image.setBounds(0, 0, 60, 60); 

     b.setCompoundDrawables(null, null, image, null); 
     parent.addView(b); 
    } 
+0

ご要望が満たされた場合は、以下の回答の1つを受け入れることを検討してください – Lino

答えて

2

それでも線形レイアウトのインスタンスを持っている場合は、addView(...)のために行ったように、ちょうどremoveView(...)を呼び出します。

0

あなたはあなたが続ける場合によっては、親からremoveView(View)removeViewAt(position)を使用する必要がありますparent.setVisibility(View.GONE);

過ぎ去っへのLinearLayoutの可視性を設定したり、parent.removeAllViews().

0

でのLinearLayoutからすべてのビューを削除することができます索引またはオブジェクトのトラック。

parent.removeView(button); 
parent.removeViewAt(buttonIndex); 
0

ビューの親を取得し、これを試してみてくださいその親から

((ViewGroup) parent.getParent()).removeView(parent); 
0

をそのビューを削除します。

View button = view.findViewById(R.id.buttonid); 
((ViewGroup) button.getParent()).removeView(button); 
0

私はその子(のTextViewの)クリックからParentViewを削除していました。

tvClose.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (llContainer.getChildCount() > 1) { 
        ((LinearLayout) view.getParent()).removeView(view); 
       } 
      } 
     }); 
関連する問題