AndroidLiveDatacontainsvaluebutwhenassigningtovariableitisnull
创始人
2024-10-08 23:02:46
0

这个问题表示,虽然LiveData对象包含值,但将其赋值给变量时却为null。这可能是由于异步加载数据的延迟导致的。解决办法是使用Android架构组件中的Observer模式,当LiveData对象的值改变时通知观察者更新UI,而不是直接将其赋值给变量。以下是代码示例:

public class MyFragment extends Fragment {

    private ViewModel mViewModel;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mViewModel = new ViewModelProvider(this).get(ViewModel.class);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.my_fragment, container, false);
        TextView textView = view.findViewById(R.id.text_view);

        mViewModel.getLiveData().observe(getViewLifecycleOwner(), new Observer() {
            @Override
            public void onChanged(@Nullable String s) {
                textView.setText(s);
            }
        });

        return view;
    }

    public class ViewModel extends AndroidViewModel {

        private MutableLiveData mLiveData;

        public ViewModel(@NonNull Application application) {
            super(application);
            mLiveData = new MutableLiveData<>();
            loadData();
        }

        public LiveData getLiveData() {
            return mLiveData;
        }

        private void loadData() {
            // 异步加载数据
            new Thread(new Runnable() {
                @Override
                public void run() {
                    // 模拟数据加载
                    SystemClock.sleep(2000);
                    mLiveData.postValue("Hello, World!");
                }
            }).start();
        }
    }
}

相关内容

热门资讯

第9分钟辅助!小娴辅助软件下载... 第9分钟辅助!小娴辅助软件下载,欢乐茶馆脚本(其实真的是有辅助神器)-哔哩哔哩第9分钟辅助!小娴辅助...
9分钟指南书!智星菠萝透视(透... 9分钟指南书!智星菠萝透视(透视)都是有辅助工具(哔哩哔哩)暗藏猫腻,小编详细说明智星菠萝透视破解器...
第二分钟脚本!雀友会广东潮汕麻... 第二分钟脚本!雀友会广东潮汕麻雀有挂么,518互游辅助(果然真的是有辅助下载)-哔哩哔哩运雀友会广东...
第二分钟积累!wepoker有... 第二分钟积累!wepoker有透视功能吗(透视)真是存在有辅助安装(哔哩哔哩)1、wepoker有透...
第2分钟辅助!传送屋激k如何开... 第2分钟辅助!传送屋激k如何开启透视,决战卡五星游戏辅助器(好像真的是有辅助工具)-哔哩哔哩运传送屋...
9分钟要领!wepoker透视... 9分钟要领!wepoker透视脚本免费使用视频(透视)一贯真的有辅助插件(哔哩哔哩)1、用户打开应用...
5分钟脚本!河南微乐小程序辅助... 5分钟脚本!河南微乐小程序辅助器免费,川南游戏辅助(竟然存在有辅助辅助)-哔哩哔哩1、5分钟脚本!河...
三分钟指引!pokernow辅... 三分钟指引!pokernow辅助控制(透视)其实真的有辅助神器(哔哩哔哩)1)pokernow辅助控...
十分钟安装!微乐家乡破解版,三... 十分钟安装!微乐家乡破解版,三哥玩摆头可以控制(一贯有挂辅助辅助)-哔哩哔哩1、实时三哥玩摆头可以控...
一分钟诀窍!德州之星扫描器(透... 一分钟诀窍!德州之星扫描器(透视)本来真的有辅助安装(哔哩哔哩)暗藏猫腻,小编详细说明德州之星扫描器...