微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从Android中的布局中删除Edittext?

如何解决如何从Android中的布局中删除Edittext?

单击按钮后,我可以将Edittext动态添加到布局中。 现在,我希望用户也能够删除相应的编辑文本。

我能够从arraylist中删除edittext,但是我也希望它从我的布局/屏幕中消失。

我该怎么做? 可能吗? 任何帮助,将不胜感激。 预先谢谢你。

代码参考:

首先将Edittext添加到arraylist:

ArrayList<EditText> list = new ArrayList<>();
ArrayList<Button> listbtn = new ArrayList<>();

第2步:

spinnerAdd_Field.setonItemSelectedListener(new MaterialSpinner.OnItemSelectedListener()
        {
            @Override
            public void onItemSelected(MaterialSpinner view,int position,long id,final Object item)
            {
//                Snackbar.make(view,"Clicked " + item,Snackbar.LENGTH_LONG).show();
                {

                    editText = new EditText(Add_Account.this);
                    btnremove = new Button(Add_Account.this);

                    RelativeLayout.LayoutParams lpb = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,120);
                    lpb.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,RelativeLayout.TRUE);
                    lpb.setMargins(0,32);
                    btnremove.setLayoutParams(lpb);
                    btnremove.setPadding(46,0);
                    btnremove.setText( "Remove\n"+item.toString());
                    btnremove.setId(count);
                    btnremove.setTextColor(Color.parseColor("#000000"));
                    btnremove.setBackgroundResource(R.drawable.backgroundrounded);
                    btnremove.setonClickListener(btnclick);

                  
                    {
                        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,120);
                        lp.setMargins(0,32);
                        editText.setLayoutParams(lp);
                        editText.setPadding(46,0);
                        editText.setHintTextColor(Color.parseColor("#A17A7979"));
                        editText.setBackgroundResource(R.drawable.rounded_edittex);
                        editText.setTextColor(Color.parseColor("#7A7979"));
                        editText.setHint(item.toString());
                    }


                    if(btnremove.getParent() != null) {
                        ((ViewGroup)btnremove.getParent()).removeView(btnremove); // <- fix
                    }

                    myLayout.addView(editText);
                    myLayoutbtn.addView(btnremove);

                    // for each EditText add it to the ArrayList
                    for(int i=0; i < count; i++)
                    {
                        list.add(editText);
                    }

                    // for each Button also add it to the ArrayList
                    for(int i=0; i < count; i++)
                    {
                        listbtn.add(btnremove);
                    }
                    
                }
            }
        });

检查此图像以供参考:

Check This:

解决方法

如果要从布局中删除View,则应使用removeView()方法。就您而言:

@timestamp

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。