扩充RecyclerView时出错无法启动活动

时间:2016-12-03 21:37:45

标签: android

我已经找到了我的解决方案的答案,但在使用尝试解决方案后问题仍然存在。让我解释一下我的问题

我在Android中有一个名为RedditListFragment的片段。该片段将显示回收者视图。我通过添加库在项目中添加了回收器视图。版本是:com.android.support:recyclerview -v7:25.0.0。我在gradle脚本中添加了compile命令:

apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
    applicationId "com.example.ridhwaan.redditforfaez"
    minSdkVersion 16
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
   }
 }

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.google.android:support-v4:r7'
compile 'com.android.support:support-v4:25.0.0'
compile 'com.android.support:recyclerview-v7:25.0.0'
testCompile 'junit:junit:4.12'
 }

到目前为止,一切看起来都很好。现在我创建一个布局文件,其根布局为RecyclerView。这是布局的样子:

<android.support.v7.widget.RecyclerView


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"
android:id="@+id/reddit_recycler_view"
tools:context="com.example.ridhwaan.redditforfaez.RedditListFragment">


</android.support.v7.widget.RecyclerView>

现在我在代码中扩充了布局文件。我这样做:

 package com.example.ridhwaan.redditforfaez;


  import android.os.Bundle;
  import android.support.v4.app.Fragment;
  import android.support.v7.widget.LinearLayoutManager;
  import android.support.v7.widget.RecyclerView;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;


 /**
 * A simple {@link Fragment} subclass.
 */
public class RedditListFragment extends Fragment {


private RecyclerView mRecyclerView;


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_reddit_list, container, false);
          mRecyclerView = (RecyclerView) view.findViewById(R.id.reddit_recycler_view);
          mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

    // Inflate the layout for this fragment
    return view;
}

   }

现在,当我尝试运行项目时,我得到了这个我不理解的长期异常。

12-03 16:16:21.518 11345-11345/? E/AndroidRuntime: FATAL EXCEPTION: main
                                               Process: com.example.ridhwaan.redditforfaez, PID: 11345
                                               java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ridhwaan.redditforfaez/com.example.ridhwaan.redditforfaez.RedditListActivity}: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.v7.widget.RecyclerView
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                                                   at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                   at android.os.Looper.loop(Looper.java:154)
                                                   at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
                                                Caused by: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.v7.widget.RecyclerView
                                                Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class android.support.v7.widget.RecyclerView
                                                Caused by: java.lang.reflect.InvocationTargetException
                                                   at java.lang.reflect.Constructor.newInstance0(Native Method)
                                                   at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
                                                   at android.view.LayoutInflater.createView(LayoutInflater.java:645)
                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
                                                   at com.example.ridhwaan.redditforfaez.RedditListFragment.onCreateView(RedditListFragment.java:25)
                                                   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:870)
                                                   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080)
                                                   at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:622)
                                                   at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
                                                   at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:505)
                                                   at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248)
                                                   at android.app.Activity.performStart(Activity.java:6681)
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2609)
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                                                   at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                   at android.os.Looper.loop(Looper.java:154)
                                                   at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
                                                Caused by: java.lang.NoSuchMethodError: No static method getImportantForAccessibility(Landroid/view/View;)I in class Landroid/support/v4/view/ViewCompat; or its super classes (declaration of 'android.support.v4.view.ViewCompat' appears in /data/data/com.example.ridhwaan.redditforfaez/files/instant-run/dex/slice-support-v4-r7_98313a484a266aab27237a67f95cdf563fef0995-classes.dex)
                                                   at android.support.v7.widget.RecyclerView.<init>(RecyclerView.java:544)
                                                   at android.support.v7.widget.RecyclerView.<init>(RecyclerView.java:519)
                                                   at java.lang.reflect.Constructor.newInstance0(Native Method) 
                                                   at java.lang.reflect.Constructor.newInstance(Constructor.java:430) 
                                                   at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787) 
                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
                                                   at com.example.ridhwaan.redditforfaez.RedditListFragment.onCreateView(RedditListFragment.java:25) 
                                                   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:870) 
                                                   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080) 
                                                   at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:622) 
                                                   at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416) 
                                                   at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:505) 
                                                   at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248) 
                                                   at android.app.Activity.performStart(Activity.java:6681) 
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2609) 
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 
                                                   at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) 
                                                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                   at android.os.Looper.loop(Looper.java:154) 
                                                   at android.app.ActivityThread.main(ActivityThread.java:6077) 
                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 

我相信问题的根源可能来自这里: Layout Eror

我尝试了以下:Invaldiate Caches / Restart。我这么做了很多次。我试过清理项目/重建但是没有用。我也做了很多次。我尝试构建项目然后刷新,但我仍然得到相同的错误。

如果我能得到任何帮助,我会非常感激。如果您需要帮助我的一些信息,我将非常乐意提供它。我是Android初学者。谢谢!

0 个答案:

没有答案