2017-01-03 4 views
0

Ich habe mehrere Schaltflächen in einem Layout dynamisch erstellt. Nun, wie kann ich dieses Layout nach der Verwendung entfernen.
zum Beispiel: -Wie kann ich Layout in Android entfernen?

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

Bitte beachten Sie eine der folgenden Antworten zu akzeptieren, wenn es Ihre Anfrage erfüllt – Lino

Antwort

2

Wenn Sie immer noch die Instanz des linearen Layout haben, rufen Sie einfach removeView(...) wie Sie für die addView(...) tat.

0

können Sie die Sichtbarkeit von Linearlayout auf vergangenen parent.setVisibility(View.GONE);

oder entfernen Sie alle Ansichten aus dem Linearlayout von parent.removeAllViews().

0

Sie müssen removeView(View) oder removeViewAt(position) vom Elternteil verwenden, je nachdem, ob Sie halten Verfolgen der Indizes oder der Objekte.

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

erhalten die Eltern der Ansicht, und entfernen Sie diese Ansicht von der übergeordneten

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

Try this:

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

I ParentView von seinem Kind (Textview ist) klicken entfernt hatte.

tvClose.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (llContainer.getChildCount() > 1) { 
        ((LinearLayout) view.getParent()).removeView(view); 
       } 
      } 
     }); 
Verwandte Themen