Tag: android 2.3 gingerbread

为什么在OnCreate()中设置ViewTreeObserver> OnScrollChangedListener不会在Android 2.x上调用?

我发现Android 2.x上的OnScrollChangedListener在第一次布局绘制之前就不会被解雇。 例如,当您在onCreate / onResume / onAttachedToWindow方法中添加滚动侦听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 } }); } } 那么有人知道这个问题的原因吗? PS:看起来像API <= 15(Android 4.0.3)