Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从recyclerview中删除布局参数_Java_Android_Android Recyclerview - Fatal编程技术网

Java 从recyclerview中删除布局参数

Java 从recyclerview中删除布局参数,java,android,android-recyclerview,Java,Android,Android Recyclerview,我创建了一个应用程序,其中有一个RecyclerView 当RecyclerView加载时,我在该区域显示一个ProgressBar循环,当它显示结果时,我将其删除 现在,我不知道RecyclerView中项目的确切大小,所以我将其高度设置为wrap\u content 但是,如果我将其设置为wrap\u content,在加载时,由于它不知道其内容的高度,因此看起来会像第一个RecyclerView一样收缩: 为了克服这个问题,我想为加载时间设置一个定义的高度,并在加载完成时删除此定义,因此

我创建了一个应用程序,其中有一个
RecyclerView

RecyclerView
加载时,我在该区域显示一个
ProgressBar
循环,当它显示结果时,我将其删除

现在,我不知道
RecyclerView
中项目的确切大小,所以我将其高度设置为
wrap\u content

但是,如果我将其设置为
wrap\u content
,在加载时,由于它不知道其内容的高度,因此看起来会像第一个
RecyclerView
一样收缩:

为了克服这个问题,我想为加载时间设置一个定义的高度,并在加载完成时删除此定义,因此我使用:

int pxHeight = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, 220, getResources().getDisplayMetrics() );

ViewGroup.LayoutParams paramsNew = rv_NewBooks.getLayoutParams();
paramsNew.height = pxHeight;
rv_New.setLayoutParams( paramsNew );
这一切都很好,问题是,我不知道如何删除这个尺寸时,加载完成,然后即使当它完成加载我被困在220的高度

我用来检测加载何时完成的代码是:

rv_New.getViewTreeObserver()
        .addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                pb_New.setVisibility( View.GONE );

                ///////////////////////////////////////////
                HERE I WANTS TO ADD SOMETHING LIKE ----> rv_New = returns to wrap_content
                ///////////////////////////////////////////

                rv_New.setAlpha( 1f );
                rv_New.getViewTreeObserver().removeOnGlobalLayoutListener( this );
            }
        } );