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