我做了一个 viewstub
,它被膨胀并再次创建了很多次。它使用的布局包括一个“删除”按钮,用于隐藏 View stub (或缩小它)。
当我创建一个新的 viewstub
时,我称这个代码为:
ViewStub eventStub = new ViewStub(this);
eventStub.setLayoutResource(R.layout.event_container);
eventContainerMain.addView(eventStub);
eventStub.inflate();
问题是,在
viewstub
布局中,删除按钮是用新的 viewstub
创建的。那么如何让删除按钮隐藏里面的 viewstub
呢?最重要的是,如何让其他方法只影响 内部的 View ?
最佳答案
你没有完全正确地使用 View stub ......
首先,使用以下命令将您的 View 指向您想要复制的 View 的布局:
ViewStub stub = new ViewStub(this);
stub.setLayoutResource(R.layout.viewStubLayout);
stub.inflate();
接下来,进入您的 XML 并使用正确的方法确保布局上的按钮具有
android:onClick
选项,该方法在您的类中声明。对于删除 View stub ,您实际上并没有删除它们……您应该使用
.setVisibility(GONE)
或 .setVisibility(VISIBLE)
来管理用户是否可以看到它。这将用于 onClick
指向的方法中。此外,在引用对象所在的 View stub 时使用“this
”将允许您管理用户单击的指定 View 中发生的事情。关于android - 创建新 View 时动态隐藏 View stub ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16679597/