java – Android – setVisibility不改变RelativeLayout的可见性

我试图使用visibility属性操纵RelativeLayout对某个点击事件的可见性.

在为每个列表项添加事件处理程序后,我可以检查可见性状态是否正在发生变化,但在Android模拟器中,屏幕根本没有变化(我在XML中使用visibility =“visible”对其进行了测试)确定它会出现).

这是点击处理程序的代码

someHolder.itemView.setonClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            LayoutInflater layoutSeed = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View baseView = layoutSeed.inflate(R.layout.activity_listings, null, false);
            RelativeLayout popup = (RelativeLayout) baseView.findViewById(R.id.popupContainer);
            Log.d("Tag1",Integer.toString(popup.getVisibility()));
            popup.setVisibility(View.VISIBLE);
            Log.d("Tag2",Integer.toString(popup.getVisibility()));
        }
});

Logcat显示状态更改.我还尝试在baseView和popup以及popup.bringToFront()和这些组合上使invalid()和postInvalidate()无效,到目前为止没有任何工作.

有任何建议或可能的调查路线?

解决方法:

如果您尝试更改可见性的RelativeLayout已在屏幕中,则无需再次对其进行充气.请参考已经充气的一个并更改其可见性

holder.relativeLayout.setVisibility(View.GONE);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...