java - 添加 RecyclerView Layoutmanager 时我的应用停止了
问题描述
我正在为 Firebase 实时数据库设置应用程序。为此,我想以垂直布局给出数据。问题是当我添加 LinearLayoutManager 时应用程序停止了。
这是我遵循的教程:https ://www.youtube.com/watch?v=71H9-MRXYOE
我已经尝试以不同的方式添加 LinearLayoutManager 但它们都不起作用
public class MainActivity extends AppCompatActivity {
RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this,
RecyclerView.VERTICAL, false));
recyclerView.setAdapter(adapter);
}
我对使用 android 编程真的很陌生,对错误代码不太了解。
W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2203)
at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:637)
I/art: at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void com.example.firebasetest.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:34)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6679)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1118)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2618)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2726)
at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1477)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:154)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6119)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/com.example.firebasetest-2/base.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.firebasetest-2/split_lib_slice_9_apk.apk"],na
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2203)
at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:637)
at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
at void com.example.firebasetest.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:34)
at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6679)
at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1118)
at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2618)
at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2726)
at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1477)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:154)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6119)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
I/ViewConfigCompat: Could not find method getScaledScrollFactor() on ViewConfiguration
这是我的布局
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/edt_title"
android:hint="Title"
android:inputType="text"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/edt_content"
android:hint="Content"
android:inputType="text"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_post"
android:text="POST"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"></androidx.recyclerview.widget.RecyclerView>
</LinearLayout>```
解决方案
- 可能这会有所帮助
RecyclerView
1]可以通过以下方式实现垂直滚动:-
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayoutManager);
2]logcat
这样的节目中的错误:-
java.lang.ClassNotFoundException:在路径上找不到类“android.view.View$OnUnhandledKeyEventListener”:DexPathList [[zip 文件“/data/app/com.example.firebasetest-2/base.apk”,zip 文件“ /data/app/com.example.firebasetest-2/split_lib_dependencies_apk.apk”,压缩文件“/data/app/com.example.firebasetest-2/split_lib_slice_0_apk.apk”,压缩文件“/data/app/com.example .firebasetest-2/split_lib_slice_1_apk.apk”,压缩文件“/data/app/com.example.firebasetest-2/split_lib_slice_2_apk.apk”,压缩文件“/data/app/com.example.firebasetest-2/split_lib_slice_3_apk.apk ", 压缩文件 "/data/app/com.example.firebasetest-2/split_lib_slice_4_apk.apk", 压缩文件 "/data/app/com.example.firebasetest-2/split_lib_slice_5_apk.apk", 压缩文件 "/data/app/com.example.firebasetest-2/split_lib_slice_6_apk.apk”,压缩文件“/data/app/com.example.firebasetest-2/split_lib_slice_7_apk.apk”,压缩文件“/data/app/com.example .firebasetest-2/split_lib_slice_8_apk.apk", 压缩文件 "/data/app/com.example.firebasetest-2/split_lib_slice_9_apk.apk"],na
基本上可以解决(主要关注Fire base相关的依赖项)
- 清理你的项目依赖
- 如果需要,将任何依赖项更新到最新版本。
最后
3]清理你的项目,重建并运行。
推荐阅读
- c# - WindowsFormsApplication3.exe 中发生了“System.StackOverflowException”类型的未处理异常
- amazon-web-services - 如何使用 Jenkins 将应用程序部署到 EC2 实例(使用 Autoscaling)?
- python - 使用python过滤CSV数据并将不同的值存储在数组中
- python - 当我只需要文件中的几个数据点时,如何对非常大的 csv excel 文件中的排名值进行排名?
- angular - 仅当调用函数内部的回调并执行函数的其余部分时,如何调用另一个函数?
- php - MAMP:无法加载动态库“php_intl.dll”Windows 10
- java - flink 是否为数据集批处理提供检查点
- ajax - 我如何在控制器之前检查 ajax 请求
- reactjs - 无法将多个复选框值发送到控制台
- flutter - 如何在 Flutter 中使用 SharedPreferences 和 Injectable?