Java RecyclerView、CardView和x27;在空白碎片上看不到
我是Android新手。昨天我在BlankFragment上的项目中添加了RecyclerView和CardView。它正在运行,没有错误,但当我打开它时,会显示“程序已停止”。在本教程中,它们将RecyclerView包含在LinearLayout中。但是在我的BlankFragment中,我已经有了FragmentLayout,这就是为什么我认为我不需要它。其他人建议在androidStudio上查看Logcat,之后我得到了AndroidRuntime:FATALEXCEPTION:mainJava RecyclerView、CardView和x27;在空白碎片上看不到,java,android,android-fragments,android-recyclerview,android-cardview,Java,Android,Android Fragments,Android Recyclerview,Android Cardview,我是Android新手。昨天我在BlankFragment上的项目中添加了RecyclerView和CardView。它正在运行,没有错误,但当我打开它时,会显示“程序已停止”。在本教程中,它们将RecyclerView包含在LinearLayout中。但是在我的BlankFragment中,我已经有了FragmentLayout,这就是为什么我认为我不需要它。其他人建议在androidStudio上查看Logcat,之后我得到了AndroidRuntime:FATALEXCEPTION:mai
Process: com.example.ganz.afex_with_default_navigation, PID: 10058
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ganz.afex_with_default_navigation/com.example.ganz.afex_with_default_navigation.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2957)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3032)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference
at com.example.ganz.afex_with_default_navigation.MainActivity.onCreate(MainActivity.java:46)
at android.app.Activity.performCreate(Activity.java:7174)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1220)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2910)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3032)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
在这个Logcat上,我被链接到我的MainActivity.java:46。第46行保留在OnCreate方法中:
lstTovar = new ArrayList<>();
lstTovar.add(new Tovar_tavsiya("Modadagi kiyimlar", "Tovar kategoriyasi", "Description", R.drawable.tile_bg_1));
lstTovar.add(new Tovar_tavsiya("Chet eldan uskunalar", "Tovar kategoriyasi", "Description", R.drawable.tile_bg_2));
lstTovar.add(new Tovar_tavsiya("Tekstil mahsulotlari", "Tovar kategoriyasi", "Description", R.drawable.tile_bg_3));
RecyclerView myrv = (RecyclerView) findViewById(R.id.recyclerview_id);
Recyclerview_Adapter myrv_Adapter = new Recyclerview_Adapter(this, lstTovar);
myrv.setLayoutManager(new GridLayoutManager(this, 3)); ===IT IS THE 46TH ROW===
myrv.setAdapter(myrv_Adapter);
lstTovar=newarraylist();
lstTovar.add(新增Tovar_tavsiya(“Modadagi kiyimlar”,“Tovar kategoriyasi”,“Description”,R.drawable.tile_bg_1));
lstTovar.add(新增Tovar_tavsiya(“Chet eldan uskunalar”、“Tovar kategoriyasi”、“Description”、R.drawable.tile_bg_2));
lstTovar.add(新增Tovar_tavsiya(“Tekstil mahsulotlari”,“Tovar kategoriyasi”,“Description”,R.drawable.tile_bg_3));
RecyclerView myrv=(RecyclerView)findViewById(R.id.RecyclerView\u id);
Recyclerview_适配器myrv_适配器=新的Recyclerview_适配器(此,lstTovar);
myrv.setLayoutManager(新GridLayoutManager(this,3))===这是第46排===
myrv.setAdapter(myrv_适配器);
这里是fragment_blank.xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ganz.afex_with_default_navigation.BlankFragment">
<!-- TODO: Update blank fragment layout -->
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview_id"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
</FrameLayout>
p.S:我还为它们提供了适配器、活动和java文件。如果我把它们也加在这里,我想问题会变得一团糟。如果你需要他们的部分来解决问题,我会与你分享。提前谢谢你 您的
RecyclerView
为null
请检查setContentView(…),您似乎没有调用setContentView方法如果RecyclerView
位于片段中,您应该在片段中处理它,而不是在活动中@NileshRathod为什么为null?我完成了教程中显示的所有操作。@AnandPhadke我没有使用setContentView(…)。为什么我需要它?