android - native Android UI 组件未更新

标签 android android-layout react-native

我在使用 React-Native 中的原生 UI 组件时遇到问题。情况是我在 Android 中有一个现有的、正常运行的、完整的布局,我需要在 react-native View 中重用。

现有布局(在 Android 中):

  • 有一个加载布局
  • 有一个 RecyclerView
  • 在显示加载布局时执行 api 调用
  • 完成后更新 RecyclerView 并隐藏加载布局
  • 在原生环境中完美运行。

为了公开这个现有布局并在 React-Native 中使用它,我按照说明做了 通过docs .不需要公开属性、回调或事件,因为现有布局已关闭并按原样工作。

React-Native View :

  • 是一个简单的 View
  • 导入文档中描述的现有布局
  • 实际显示现有布局的初始加载布局

加载数据时出现问题。通过调试,您可以看到代码已运行以更新布局,但视觉上并未显示。 加载布局一直显示,直到您执行滚动手势重新绘制屏幕并显示带有加载数据的 RecyclerView。就好像 RecyclerView 已经存在但没有显示。

有人知道可能是什么问题吗?

提前致谢!

最佳答案

尝试添加此功能,并将 base_svg 更改为您不满意的 View :

private final Runnable measureAndLayout = new Runnable() {
        @Override
        public void run() {
            base_svg.measure(
                    View.MeasureSpec.makeMeasureSpec(base_svg.getWidth(), View.MeasureSpec.EXACTLY),
                    View.MeasureSpec.makeMeasureSpec(base_svg.getHeight(), View.MeasureSpec.EXACTLY));
            base_svg.layout(base_svg.getLeft(), base_svg.getTop(), base_svg.getRight(), base_svg.getBottom());
        }
    };

将新信息添加到屏幕后调用该函数:

    base_svg.post(measureAndLayout);

检查它是否呈现您添加或删除的新 View 。

老实说,我不知道为什么。但这对我有用。我认为 react 迫使你只在 react 需要时渲染。 检查这个issue以获得更多理解。

关于android - native Android UI 组件未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46609588/

相关文章:

android,scrollview 中 textview 的最后一行略有截断

java - 为什么我得到这个线性布局的空值

java - 当手机旋转时,由数据库强制关闭的微调器填充

android - 在 Android 布局底部添加工具栏时滚动行为不起作用

java - Android 包含参数 - 数据绑定(bind)不解析变量

java - Roadblock 在 Windows 上为 Android 设置我的 Phonegap 环境

java - 出现异常时如何设置消息

react-native - react 导航 Stack.Screen screenProps 的 5 倍使用

JSON解析错误: Unexpected Identifier "Undefined"(React Native)

android - 与文本内联的 React-native 图标