Java 如何在mainActivity中将findViewById与片段一起使用?
我看了一下关于这个问题的其他问题,我学到的是我的问题就在那里,因为我试图找到一个不在实际显示视图中的视图,我猜 但我不知道如何解决这个问题 这是我的MainActivity.java,其中错误显示为最终列表视图列表 公共类MainActivity扩展了AppCompatActivity{ 私有AppBarConfiguration mAppBarConfiguration; 私有上下文=这个; @凌驾 受保护的void onCreateBundle savedInstanceState{ super.onCreatesavedInstanceState; setContentViewR.layout.activity_main; //-------------------个人名单-------------- ArrayList aperoList=新ArrayList; 自然人; AperoAdapter adapter=新的AperoAdapter此,R.layout.apero_列表_布局,aperoList; 最终ListView列表=ListViewfindViewByIdR.id.list\u apero; list.setAdapteradapter; list.SetOnItemClickListener新建AdapterView.OnItemClickListener{ @凌驾 公共适配器视图适配器,视图v,内部位置,长id{ AperoVersion selectedItem=AperoVersion适配器.getItemAtPositionposition; Log.vCustomAdapterExample,所选的个人:+selectedItem.getName; } }; } 然后我把碎片带回家: 错误是: java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.lapero/com.example.lapero.MainActivity}: java.lang.NullPointerException:尝试调用虚拟方法“void” 上的“android.widget.ListView.setAdapterandroid.widget.ListAdapter” 空对象引用 列表在fragment\u home中,不在activity\u main中 活动中的findViewByIdR.id.list\u apero返回nullJava 如何在mainActivity中将findViewById与片段一起使用?,java,android,android-fragments,findviewbyid,Java,Android,Android Fragments,Findviewbyid,我看了一下关于这个问题的其他问题,我学到的是我的问题就在那里,因为我试图找到一个不在实际显示视图中的视图,我猜 但我不知道如何解决这个问题 这是我的MainActivity.java,其中错误显示为最终列表视图列表 公共类MainActivity扩展了AppCompatActivity{ 私有AppBarConfiguration mAppBarConfiguration; 私有上下文=这个; @凌驾 受保护的void onCreateBundle savedInstanceState{ sup
您应该在片段中设置适配器,而不是在活动中。Activity无权触摸片段视图,但显示的视图将不是正确的视图否?在哪里使用了片段的主布局?它不是片段的布局吗?在活动中加载片段,然后在片段上设置适配器,因为您可以访问所有内容它在onCreateView.ahhh中的布局好的,是的,我知道我必须在片段上更改它,而不是在MainActivity上。没错,在同一个Android Studio中,有一个带有片段的活动示例将转到New/activity/fragment+ViewModel。此活动将加载该片段,并使用supportFragmentManager和如果保存充气结果以便稍后返回,则片段可以访问onCreateView中的视图。您可以在其中使用findViewById并执行操作和/或保存对象引用。