I discovered that OnScrollChangedListener
on Android 2.x won't be ever fired if it was added before the first time layout draw. For example, when you add a scroll listener in methods like onCreate
/onResume
/onAttachedToWindow
:
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View myView = findViewById(R.id.MyView);
System.out.println(myView.getViewTreeObserver().isAlive()); // true
myView.getViewTreeObserver().addOnScrollChangedListener(new OnScrollChangedListener() {
@Override
public void onScrollChanged() {
// will never fire
}
});
}
}
So, anybody knows the reason of this problem?
PS: Seems like the problem sometime happens on API<=15 (Android 4.0.3)