创建新视图时动态隐藏视图存根

4 android view stub viewgroup

我做了一个viewstub充气并再次创建的。它使用的布局包括一个“删除”按钮,用于隐藏视图存根(或缩小它)。

当我创建一个新的viewstub我调用这个代码:

ViewStub eventStub = new ViewStub(this);
            eventStub.setLayoutResource(R.layout.event_container);
            eventContainerMain.addView(eventStub);
            eventStub.inflate();
Run Code Online (Sandbox Code Playgroud)

问题是,在viewstub布局中,删除按钮是用新的viewstub. 那么如何让删除按钮隐藏viewstub里面的内容呢?

最重要的是,如何让其他方法影响其内部的视图

小智 5

你没有完全正确地使用视图存根......

首先,使用以下命令将您的视图指向您想要复制的视图的布局:

ViewStub stub = new ViewStub(this);
    stub.setLayoutResource(R.layout.viewStubLayout);
    stub.inflate();
Run Code Online (Sandbox Code Playgroud)

接下来,进入您的 XML 并确保布局上的按钮具有android:onClick使用正确方法的选项,该方法在您的类中声明。

对于删除视图存根,您实际上并没有删除它们……您应该使用.setVisibility(GONE).setVisibility(VISIBLE)管理用户是否可以看到它。这将用于所涉及的方法中onClick。此外,this在引用对象所在的视图存根时使用“ ”将允许您管理用户单击的指定视图中发生的事情。