动态膨胀视图时滚动到底部

3iL*_*3iL 5 android scrollview android-layout android-scrollview android-view

我有一个LinearLayout,我正在CardView像这样膨胀一个:

final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout);
final View childView = getLayoutInflater().inflate(R.layout.cardview, null);
itineraryDetailLL.addView(childView);
Run Code Online (Sandbox Code Playgroud)

子视图的膨胀是通过单击按钮完成的。每当新的卡片视图膨胀时,我都想滚动到屏幕底部。我是这样做的:

ScrollView scrollview = ((ScrollView) findViewById(R.id.masterScrollView));
scrollview.fullScroll(View.FOCUS_DOWN);
Run Code Online (Sandbox Code Playgroud)

但这会滚动到屏幕中间而不是底部。我究竟做错了什么?

azi*_*ian 4

您必须发布一个要在下一帧上发生的事件,此时ScrollView将进行布局:


    scrollView.post(new Runnable() {
        @Override
        public void run() {
            scrollView.fullScroll(ScrollView.FOCUS_DOWN);
        }
    });