I have two fragments. In fragment A there is a RecyclerView, when I click on the element of which I get to another fragment B. In fragment A I have a MaterialToolbar which can have different heights, so in onViewCreated() I call materialToolbar.height to get its height. When I open fragment A everything works fine, however when I click on an element in the RecyclerView, I get to fragment B, in which on pressing the back button I will go back to the fragment A and the height of my materialToolbar will already be 0. Why does it return 0? And how can I make it return the value I need?
            Asked
            
        
        
            Active
            
        
            Viewed 104 times
        
    0
            
            
         
    
    
        onesector
        
- 361
- 5
- 18
- 
                    Check this, i think that for your particular problem the best option is to use. View.getMeasuredHeigth() https://stackoverflow.com/questions/3591784/views-getwidth-and-getheight-returns-0 – Agustin Pazos Nov 16 '22 at 15:00
- 
                    Can you please share some code for us to understand. Especially where you set toolbar height in fragment A. – Mert Nov 16 '22 at 15:24
1 Answers
0
            
            
        There's an observer which listens to view-heirarchy of any given view.
toolbar.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
        override fun onGlobalLayout() {
            binding.mbSelect.viewTreeObserver.removeOnGlobalLayoutListener(this)
            val height = materialToolbar.height
        }
    })
Try this above code in you fragment A, you will get the actual height toolbar
 
    
    
        Sohaib Ahmed
        
- 1,990
- 1
- 5
- 23