Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

View getVisibility() isShown() return incorrect visibility

Tags:

android

I've a view that gets conditionally added to parent. I check if its already added to parent or not, unfortunately, it always return its visible.

if (findViewById(R.id.bottom_bar).getVisibility == View.Visible)

if (findViewById(R.id.bottom_bar).isShown()) 

both return true even when view was never added ans is not visible.

like image 961
Taranfx Avatar asked Jul 22 '11 21:07

Taranfx


People also ask

What does getVisibility return?

getVisibility() simply returns the visibility you want the view to have when added to the window. It doesn't change unless you call setVisibility() . It also doesn't indicate whether the view is actually visible on screen.


1 Answers

getVisibility() simply returns the visibility you want the view to have when added to the window. It doesn't change unless you call setVisibility(). It also doesn't indicate whether the view is actually visible on screen.

isShown() is similar. Here is the doc:

Returns the visibility of this view and all of its ancestors

Returns
True if this view and all of its ancestors are VISIBLE

like image 196
Romain Guy Avatar answered Sep 23 '22 08:09

Romain Guy