android - 立即应用 ui 更改

标签 android user-interface

我正在编写 android 上的一些 ui 屏幕。有时我需要立即查看 ui 更改,但可以在下一个 ui 线程请求中看到更改。因此,例如,如果我在屏幕上删除一个 View 并以编程方式添加另一个 View ,然后更改整个 View (使用 viewAnimator),可以观察到删除 View ,但无法观察到新 View 。我确定已添加新 View ,因为当我返回第一页时,屏幕上会显示新 View 。

我应该调用哪个函数在屏幕上添加或删除一些 View 以立即查看其效果?

我尝试了 invalidate(),但它对我的情况不起作用

最佳答案

听起来,如果您说 UI 仅在下一个 UI 线程请求时更新,那么您正在从另一个线程修改 UI 元素。因此,您必须使用 runOnUiThread 在 Runnable 中修改它们。所以,例如:

//example code
//where you are trying to modify UI components, do this instead
runOnUiThread(new Runnable(){
    public void run(){
        //update UI elements
    }
});

关于android - 立即应用 ui 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12446636/

相关文章:

user-interface - 在不改变内容大小的情况下调整 GUI 面板的大小 (MATLAB)

java - Windows 8 64 位上的 Android Studio 找不到 JVD

Android 在 TextView 中向左填充文本,其中包含左侧的图像和右侧的文本

Java GUI不会显示for循环中的所有答案

android - 使用 toObject/MyClass 从 Firebase 读取数据

java - 每次通过循环向 jTable 添加一行?

java - 想要通过 java jpanel 数组创建像 facebook 帖子这样的卡片 View

android - 将外部库添加到android studio 0.5.1项目中

android - 如何始终在 RowsFragment 中显示标题

android - 返回包的值始终为 0