当前位置: 首页 > 知识库问答 >
问题:

在单击按钮时动态添加布局的次数

左丘昊天
2023-03-14
    parent = (ViewGroup) C.getParent();//c is a layout in which position i want to add view
    final int index = parent.indexOfChild(C);
    tobeadded=getLayoutInflater().inflate(R.layout.block_tobeadded_foremi,null);
    ((Button)findViewById(R.id.button88)).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            addviewcount+=1;
            LinearLayout addinglayout=new LinearLayout(MyActivity.this);
            addinglayout.setOrientation(LinearLayout.VERTICAL);
            parent.removeViewAt(index);
            addinglayout.removeAllViews();
            for(int i=0;i<addviewcount;i++)
                   addinglayout.addView(tobeadded);
            parent.addView(addinglayout, index);
        }
    });

谁能帮我知道哪里出了问题?还有其他方法吗?提前感谢!

共有1个答案

杨昊
2023-03-14

您将获得一个IllegalStateException,因为您已经将子级附加到布局的根。

parent.removeViewAt(index);
addinglayout.removeAllViews();
for(int i=0;i<addviewcount;i++)
     addinglayout.addView(tobeadded);//Exception in this line
parent.addView(addinglayout, index);

假设addviewcount是2。

现在在第一次迭代中,tobeadded被附加到AddingLayout。

 类似资料:
  • 我是JavaFX的新手!!我试了一个非常非常简单的代码,结果卡住了。当我试图添加一个按钮到布局,它不工作。我知道这个问题可能太简单,但我真的不知道如何解决。如果你能帮助我,我将不胜感激。这是我的代码: 我得到了一个错误:

  • 这需要为N级…当用户点击添加电话视图将被添加… 怎么做??

  • 我找到了其他相关的问题,但没有一个答案实际上解决了我的问题。这个按钮在IE上很好用,但在Chrome上不行。我尝试移除span元素,将按钮放在任何其他标记之外,但仍然触发了两次。这个temple扩展了一个'base.html'文件,代码位于'main'元素中。 HTML: jQuery:

  • 本文向大家介绍vue.js 实现点击按钮动态添加li的方法,包括了vue.js 实现点击按钮动态添加li的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇vue.js 实现点击按钮动态添加li的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 如何在Android中动态添加按钮? 问题答案:

  • 我正试图让JQuery在按下下一个按钮时自动单击该按钮。在互联网上,我发现应该是这样的(查看JQuery部分)。但由于某种原因,它不起作用。 它们必须在同一个代码中吗? 我尝试过的:JQuery: 表单中的按钮1 HTML: 表单中的按钮2 HTML: