当前位置: 首页 > 知识库问答 >
问题:

当我尝试解析布局时,我得到android.content.res.resources$NotFoundException:资源ID#0x0

邹英悟
2023-03-14

我创造了一个activity,在这个activity里,我有不同的碎片。在一个片段中,我想检查用户是否已登录,如果已登录显示一个布局,如果未登录显示另一个布局。

这是我做的,你能过来看看吗?

public class MyProfileFragment extends Fragment {
    private FirebaseAuth mAuth;
    private int layoutPicked;
    @Override
    public void onStart() {

        super.onStart();
        mAuth = FirebaseAuth.getInstance();
        if(mAuth.getCurrentUser() == null) {
            layoutPicked = R.layout.layout_myprofile;
        }
        else {
           layoutPicked = R.layout.layout_myprofilelogged;
        }
    }

        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view = inflater.inflate(layoutPicked, container, false);




            return view;
        }





}


这是我得到的错误

E/AndroidRuntime:致命异常:主进程:#########,PID:562 Android.content.res.resourcesimpl.getValue(resourcesimpl.java:237)在Android.content.res.resources.LoadXmlResourceParser(resources.java:2281)在Android.content.res.resources.getLayout(resources.java:1175)在Android.view.LayoutInflater.inflate(layoutInflater.java:532)在Androidx.fragment.app.fragmentManagerimpl.executeopstogether(FragmentManagerimpl.java:1869)Androidx.fragment.app.fragmentManagerimpl.removeredundantoperationsandexecute(FragmentManagerimpl.java:1824)Androidx.fragment.app.fragmentManagerimpl.execpendingActions(FragmentManagerimpl.java:1727)Androidx.fragment.app.fragmentManagerimpl.execpendingActions(

共有2个答案

席兴朝
2023-03-14

在许多情况下会发生资源找不到的异常。由于在本例中,它是在加载布局时发生的,我怀疑布局可能不在正确的文件夹中。

http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

孔运良
2023-03-14

这是因为您是在onCreateView()中访问layoutPicked的,而它是在OnStart()方法中初始化的,OnStart()方法是在onCreateView()之后调用的。因此,每当它试图膨胀布局时,变量layoutPicked都是空的。

 类似资料: