android-创建新视图时动态隐藏视图

我制作了一个被放大并多次创建的viewstub.它使用的布局包括一个“删除”按钮,用于隐藏视点图(或将其放平).

当我创建一个新的viewstub时,我将其称为:

ViewStub eventStub = new ViewStub(this);
            eventStub.setLayoutResource(R.layout.event_container);
            eventContainerMain.addView(eventStub);
            eventStub.inflate();

问题是,在viewtub布局中,删除按钮是使用新的viewtub创建的.那么,如何使删除按钮隐藏其中的viewstubthat?

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

解决方法:

您不太正确地使用视图存根…

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

ViewStub stub = new ViewStub(this);
    stub.setLayoutResource(R.layout.viewStubLayout);
    stub.inflate();

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

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

上一篇:每日一问:LayoutParams 你知道多少?


下一篇:Android事件分发