Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 动态膨胀视图时滚动到底部_Android_Android Layout_Scrollview_Android View_Android Scrollview - Fatal编程技术网

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

Android 动态膨胀视图时滚动到底部,android,android-layout,scrollview,android-view,android-scrollview,Android,Android Layout,Scrollview,Android View,Android Scrollview,我有一个LinearLayout,我在里面膨胀一个cardwiew,如下所示: final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout); final View childView = getLayoutInflater().inflate(R.layout.cardview, null); itineraryDetailLL.addView(child

我有一个
LinearLayout
,我在里面膨胀一个
cardwiew
,如下所示:

final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout);
final View childView = getLayoutInflater().inflate(R.layout.cardview, null);
itineraryDetailLL.addView(childView);
ScrollView scrollview = ((ScrollView) findViewById(R.id.masterScrollView));
scrollview.fullScroll(View.FOCUS_DOWN);
只需单击一个按钮,即可对子视图进行充气。每当新的cardview充气时,我想滚动到屏幕底部。我是这样做的:

final LinearLayout itineraryDetailLL = (LinearLayout) findViewById(R.id.itineraryDetailLinearlayout);
final View childView = getLayoutInflater().inflate(R.layout.cardview, null);
itineraryDetailLL.addView(childView);
ScrollView scrollview = ((ScrollView) findViewById(R.id.masterScrollView));
scrollview.fullScroll(View.FOCUS_DOWN);

但它会滚动到屏幕中间的某个位置,而不是底部。我做错了什么?

你必须在下一帧发布一个事件,当这个
滚动视图
显示出来时:


    scrollView.post(new Runnable() {
        @Override
        public void run() {
            scrollView.fullScroll(ScrollView.FOCUS_DOWN);
        }
    });
您可以通过“scrollview.smoothScrollTo(0,(int)childView.getY())”;“充气后