Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
在android系统中首次初始化后,回收器项目的视图高度发生变化_Android_Kotlin_Android Recyclerview_Android Viewtreeobserver - Fatal编程技术网

在android系统中首次初始化后,回收器项目的视图高度发生变化

在android系统中首次初始化后,回收器项目的视图高度发生变化,android,kotlin,android-recyclerview,android-viewtreeobserver,Android,Kotlin,Android Recyclerview,Android Viewtreeobserver,在recycler\u视图适配器类中,添加了以下代码,用于动态更改项目\u视图的高度 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TaskListViewHolder { val itemView = LayoutInflater.from(parent.context).inflate(R.layout.task_item_new, parent, false) val vto =

在recycler\u视图适配器类中,添加了以下代码,用于动态更改项目\u视图的高度

   override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TaskListViewHolder {
    val itemView = LayoutInflater.from(parent.context).inflate(R.layout.task_item_new, parent, false)

    val vto = parentLayer!!.getViewTreeObserver()
    vto.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
        override fun onGlobalLayout() {
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
                parentLayer!!.getViewTreeObserver().removeGlobalOnLayoutListener(this)
            } else {
                parentLayer!!.getViewTreeObserver().removeOnGlobalLayoutListener(this)
            }
           var quicktaskLayerwidth = parentLayer!!.getMeasuredWidth()
           var quicktaskLayerheight = parentLayer!!.getMeasuredHeight()

            Log.e("Parent_Ht", "" + quicktaskLayerheight/4)
            itemView.getLayoutParams().height = quicktaskLayerheight / 4

        }
    })


    return TaskListViewHolder(itemView)
}
override onCreateViewHolder(父级:ViewGroup,viewType:Int):TaskListViewHolder{
val itemView=LayoutInflater.from(parent.context)。充气(R.layout.task\u item\u new,parent,false)
val vto=parentLayer!!.getViewTreeObserver()
vto.addOnGlobalLayoutListener(对象:ViewTreeObserver.OnGlobalLayoutListener{
覆盖Loballayout(){
if(Build.VERSION.SDK\u INT
在活动类中,有一个GridLayoutManager管理器用于在回收器视图中显示8图标

还有一个父线性布局,高度ViewTreeObserver中测量

IMP:recycler_view项目高度第一次可以正常工作,加载一些其他页面并返回主页后,项目高度会发生变化。但是日志显示高度是经过计算的,这是正确的。

如果有人遇到同样的问题并解决了,这里需要你的帮助