为了账号安全,请及时绑定邮箱和手机立即绑定

如何删除动态添加的 TextView

如何删除动态添加的 TextView

慕码人8056858 2021-09-29 13:45:12
所以我有一段代码,我在用户点击按钮时创建了一个 textView 。由于它是在运行后创建的,因此我不确定 ID 是什么。但是我想要做的是可以选择删除添加的最后一个 textView 并清除所有添加的 TextView。谢谢private TextView createNewTextView(String text)    {        ArraySize++;        final LinearLayout mLayout=findViewById(R.id.linearLayout);        String newLine=System.getProperty("line.separator");        final LinearLayout.LayoutParams lparams =new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);        ViewGroup.LayoutParams params=(RelativeLayout.LayoutParams) mLayout.getLayoutParams();        final TextView textView=new TextView(this);        textView.setLayoutParams(lparams);        textView.setText("New texT:: "+text+newLine);        listOfNames.add(text);        return textView;    }
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

您removeViewAt与索引一起使用


final LinearLayout mLayout=findViewById(R.id.linearLayout)

mLayout.removeViewAt(mLayout.getChildCount()-1); // get the last view


//or using index counter variable

//mLayout.removeViewAt(ArraySize-1); // adjust the value accordingly

或者您可以使用removeView获取视图并删除它


final LinearLayout mLayout=findViewById(R.id.linearLayout)

View v = mLayout.getChildAt(mLayout.getChildCount()-1);

mLayout.removeView(v);


查看完整回答
反对 回复 2021-09-29
?
慕慕森

TA贡献1856条经验 获得超17个赞

您可以在此路径 res/values/ids.xml 中创建一个 XML 文件;


<?xml version="1.0" encoding="utf-8"?>

<resources>

    <item name="view_1" type="id"/>

</resources>

然后在 Java 中添加 id,就像这样


textView.setId(R.id.view_1);

当你想删除它时


LinearLayout mLayout=findViewById(R.id.linearLayout);//to find in this specific view

TextView textView = (TextView)mLayout.findViewById(R.id.view_1);

mLayout.removeView(textView);


查看完整回答
反对 回复 2021-09-29
?
温温酱

TA贡献1752条经验 获得超4个赞

正如在这个问题中提到的,你可以简单地使用

((ViewGroup) textView.getParent()).removeView(textView);


查看完整回答
反对 回复 2021-09-29
  • 3 回答
  • 0 关注
  • 395 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信