首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何强制整个布局视图刷新?

如何强制整个布局视图刷新?
EN

Stack Overflow用户
提问于 2018-03-22 06:07:48
回答 2查看 0关注 0票数 0

我希望强制主布局资源视图重新绘制/刷新,比如Activity.onResume()方法。我该怎么做?

在主布局视图中,我指的是在我的Activity.onCreate()中调用的一个(下面的“R.layout.maincreen”),如下所示:-

代码语言:txt
复制
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainscreen);
}
EN

Stack Overflow用户

发布于 2018-03-22 14:41:45

若要严格回答以下问题:请使用voidance():

公共无效无效(),因为:API级别1 使整个视图无效。如果视图是可见的,onDraw(画布)将在将来的某个时候被调用。这必须从UI线程调用。若要从非UI线程调用,请调用postInValue()。

代码语言:txt
复制
ViewGroup vg = findViewById (R.id.mainLayout);
vg.invalidate();

现在,当活动恢复时,它会使“每个视图”自行绘制。不需要调用使()无效。若要应用主题,请确保在绘制任何视图之前,即在绘制之前setContentView(R.layout.mainscreen);

公共无效setTheme(Int RESID)自:API级别1 设置此上下文的基本主题。请注意,在上下文中实例化任何视图之前(例如,在调用setContentView(View)或Inflate(int,ViewGroup)之前),应该先调用它。

API文档引用在这里:

由于onDraw()方法在已经实例化的视图上工作,setTheme将无法工作。我本人对主题没有经验,但我认为有两个备选方案:

  1. 在onCreate()中调用setTheme,或者
  2. redo setContentView(R.layout.maincreen);强制恢复所有布局。
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档