在特定时间之前无法访问我的 NavigationDrawer 子视图

can't access my NavigationDrawer child views until a certain period

我花了半个小时来解决这个问题。我无法通过这种方式访问​​导航抽屉的子视图:

TextView nameTv = (TextView) mNavigationView.findViewById(R.id.drawer_header_name);
nameTv.setText("bloblo");

这会导致空指针异常(nameTv 为空)

但是如果我把它放在一个简短的延迟帖子中(想要稍等一下让事情平静下来):它工作正常!

        android.os.Handler handler = new android.os.Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                menuInit();
            }
        },100);

有人可以解释一下为什么吗?以及如何获得比 100 毫秒更可靠的东西?

谢谢,

尝试

mNavigationView.post(new Runnable(){ @Override public void run() {and your code}}