Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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_Layout_Refresh - Fatal编程技术网

如何在android中刷新视图

如何在android中刷新视图,android,layout,refresh,Android,Layout,Refresh,我有一个布局,其中包含按钮和visibility=“gone”的textView。此布局是scrollView的子级。按下按钮后,textView可见性设置为“可见”,但会溢出屏幕(这就是为什么它在scrollView中) 我的问题是我想自动滚动到页面的末尾 所以我试过: mySchrollView.fullScroll(View.FOCUS_DOWN); 但不幸的是,它不起作用。似乎在onClick方法结束后布局将被更新(事实上,如果我再次调用这个方法(newclick),它就可以工作了)

我有一个布局,其中包含按钮和visibility=“gone”的textView。此布局是scrollView的子级。按下按钮后,textView可见性设置为“可见”,但会溢出屏幕(这就是为什么它在scrollView中)

我的问题是我想自动滚动到页面的末尾

所以我试过:

mySchrollView.fullScroll(View.FOCUS_DOWN);
但不幸的是,它不起作用。似乎在onClick方法结束后布局将被更新(事实上,如果我再次调用这个方法(newclick),它就可以工作了)

所以我需要在调用fullScroll(…)之前刷新布局或屏幕;我尝试了refreshDrawableState()或forceLayout(),但都不起作用

你知道怎么解决吗


非常感谢

您是否尝试过调用“schrollView.requestLayout()”或“schrollView.invalidate()”?(顺便说一句,它不应该被称为“scrollView”?)

您可以:

yourText.setVisibility(View.VISIBLE);
schrollView.post(new Runnable{
    @Override
    public void run(){
        schrollView.fullScroll(View.FOCUS_DOWN);
    }
}
当已经安排的所有其他内容(如布局)完成时,将处理fullScroll()
如果由于某种原因,这不起作用,您可以使用
postDelayed(runnable,100)(使用与上例相同的runnable),视图将在100毫秒后滚动。

您可以使用schrollView.smoothScrollTo(x,y)方法。 因此,在您的情况下,代码如下所示:

schrollView.smoothScrollTo(0, deviceHeight);

尝试使用api 11之后提供的
recreate()

是的,我尝试过,但不起作用:(.顺便说一句,你的命名是对的,我已经修复了:)也可以用你的Inner布局试试