gpt4 book ai didi

android - 如何在单击按钮时删除动态创建的 View

转载 作者:搜寻专家 更新时间:2023-11-01 08:00:51 24 4
gpt4 key购买 nike

   public void Add_text() {


ll.setOrientation(LinearLayout.HORIZONTAL);
ll.setId(i);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

TextView product = new TextView(getActivity());
product.setText(" Product" + 5 + " ");
ll.addView(product);

EditText qty = new EditText(getActivity());
qty.setText(i + "");
qty.setId(i);
qty.setWidth(120);

ll.addView(qty);

Button btn = new Button(getActivity());
ll.addView(btn);
btn.setLayoutParams(params);
btn.setOnClickListener(o);

ly.addView(ll);
i++;

}

我写了上面的代码来动态创建文本框和按钮;但是现在我需要在单击按钮时删除 2 个文本字段和一个按钮。我该怎么做?

最佳答案

尝试以下代码。

button.setOnClickListener(new View.OnClickListener() {      
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
LinearLayout linearParent = (LinearLayout) v.getParent().getParent();
LinearLayout linearChild = (LinearLayout) v.getParent();
linearParent.removeView(linearChild);
}
});

解释

  • 这里先取任意 View 的“GrandParent”。
  • 然后获取其“父” View
  • 引用“GrandParent”删除“Parent” View 。
  • 这将删除“父级”拥有的所有 View 。根据您的代码,您的“ll”在这里将是“linearChild”。 “ly”在这里将是“linearParent”。因此,整个“ll”将从您动态添加的“ly”中删除。

关于android - 如何在单击按钮时删除动态创建的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21448722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com