scrollTo不工作复杂的视图

时间:2018-01-02 11:31:01

标签: android android-asynctask scrollview scrollto

我有一个像这样的布局

RelativeLayout

ScrollView 
 RelativeLayout
       TextView
       ListView
       .....
       ExpandableTextView
       Button

        ....
        other Listviews
        ....
        Adview

...

ListViews元素由AsyncTask加载。 在按钮上单击expandableTextView展开或折叠。

问题是当我崩溃expandableTextView时,视图没有向上移动。我尝试过scrollTo方法,但是没有用......

     button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

              if(...) {

                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            final ScrollView sv = (ScrollView) findViewById(R.id.sv);
                            sv.scrollTo(0,descTxt.getTop());;
                        }
                    });
                }
                else{                     
                }
            }
        });

我在onCreate中尝试了上面的实现,然后在onPostExecute的{​​{1}}中尝试过,但没有任何反应。什么出错了?谢谢!

由于asynctask或者因为scrollview根据元素动态地改变大小,是否可能无效?

1 个答案:

答案 0 :(得分:0)

使用此代码,我希望能为您效劳。

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        ScrollView sv = (ScrollView) findViewById(R.id.sv);
        sv.smoothScrollTo(0,0);
    }
}, 200);