2017-08-08 8 views
0

RecyclerViewRetrofitを使用してAPIからデータを呼び出すアプリケーションを作成します。LogCatで実行時にアプリケーションを強制終了する致命的な例外エラーInflatingクラスRecyclerView

JavaおよびXMLファイルにエラーメッセージはありません。しかし、私はアプリを実行します。それは強制的に閉じる。

Log Catでこのメッセージが表示されます。

08-07 16:45:13.735 18311-18311/? D/AndroidRuntime: Shutting down VM 08-07 16:45:13.739 18311-18311/? E/AndroidRuntime: FATAL EXCEPTION: main Process: eldarcreative.myapplication, PID: 18311 java.lang.RuntimeException: Unable to start activity ComponentInfo{eldarcreative.myapplication/eldarcreative.myapplication.MainActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.v7.widget.RecycvlerView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2525) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2617) at android.app.ActivityThread.access$800(ActivityThread.java:182) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:218) at android.app.ActivityThread.main(ActivityThread.java:5657) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:990) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:785) Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.v7.widget.RecycvlerView at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:757) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at android.view.LayoutInflater.inflate(LayoutInflater.java:365) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at eldarcreative.myapplication.MainActivity.onCreate(MainActivity.java:32) at android.app.Activity.performCreate(Activity.java:6135) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2472) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2617)  at android.app.ActivityThread.access$800(ActivityThread.java:182)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474)  at android.os.Handler.dispatchMessage(Handler.java:111)  at android.os.Looper.loop(Looper.java:218)  at android.app.ActivityThread.main(ActivityThread.java:5657)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:990)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:785)  Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.widget.RecycvlerView" on path: DexPathList[[zip file "/data/app/eldarcreative.myapplication-1/base.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_dependencies_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_0_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_1_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_2_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_3_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_4_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_5_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_6_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_7_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_8_apk.apk", zip file "/data/app/eldarcreative.myapplication-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.view.LayoutInflater.createView(LayoutInflater.java:571) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)  at android.view.LayoutInflater.inflate(LayoutInflater.java:504)  at android.view.LayoutInflater.inflate(LayoutInflater.java:414)  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)  at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292)  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  at eldarcreative.myapplication.MainActivity.onCreate(MainActivity.java:32)  at android.app.Activity.performCreate(Activity.java:6135)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2472)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2617)  at android.app.ActivityThread.access$800(ActivityThread.java:182)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474)  at android.os.Handler.dispatchMessage(Handler.java:111)  at android.os.Looper.loop(Looper.java:218)  at android.app.ActivityThread.main(ActivityThread.java:5657)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:990)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:785)  Suppressed: java.lang.ClassNotFoundException: android.support.v7.widget.RecycvlerView at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 23 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

メインAcitvity.java

public class MainActivity extends AppCompatActivity { 

    CustomAdapter adapter; 
    RecyclerView mrecyclerview; 
    List<Result> resultList = new ArrayList<>(); 
    RecyclerView.LayoutManager layoutmanager; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mrecyclerview= (RecyclerView) findViewById(R.id.recyclerview); 
     layoutmanager = new LinearLayoutManager(this); 
     adapter = new CustomAdapter(resultList); 
     mrecyclerview.setAdapter(adapter); 
     mrecyclerview.setLayoutManager(new GridLayoutManager(MainActivity.this,2)); 
     new RequestMovie().execute("popular"); 
    } 
    @Override 
    public boolean onCreateOptionsMenu (Menu menu){ 
     getMenuInflater().inflate(R.menu.menu, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     if (item.getItemId()== R.id.action_popular){ 
      new RequestMovie().execute("popular"); 
     } else if (item.getItemId()==R.id.action_top_rated){ 
      new RequestMovie().execute("top_rated"); 
     } 

     return super.onOptionsItemSelected(item); 
    } 

    private class RequestMovie extends AsyncTask<String,Void,Void>{ 
     @Override 
     protected Void doInBackground(String... params) { 
      String kategori = params[0]; 
      if (kategori.equals("popular")){ 
       ApiInterface apiInterface = ApiClient.getRetrofit() 
         .create(ApiInterface.class); 
       Call <EldarMovie> call = apiInterface.getPopular(); 
       call.enqueue(new Callback<EldarMovie>() { 
        @Override 
        public void onResponse(Call<EldarMovie> call, Response<EldarMovie> response) { 
         EldarMovie movie=response.body(); 
         adapter.setData(movie.getResults()); 
        } 

        @Override 
        public void onFailure(Call<EldarMovie> call, Throwable t) { 

        } 
       }); 


      } 
      return null; 
     } 
    } 
} 

メインActivity.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="eldarcreative.myapplication.MainActivity"> 

    <android.support.v7.widget.RecycvlerView 

     android:id="@+id/recyclerview" 
     android:layout_width = "match_parent" 
     android:layout_height = "match_parent"> 

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

</LinearLayout> 

私はすでにここに掲載他のいくつかのケースを読んで、私はまだどのように任意の手掛かりを見つけることができませんでした私の場合を修正してください。

+0

android.support.v7.widget.RecycvlerViewを置き換える、私は' ClassNotFoundExceptionが見た:あなたはそれを確認することができandroid.support.v7.widget.RecycvlerView'.So。 – KeLiuyue

+0

どういう意味ですか...? –

+0

問題は 'ClassNotFoundException:android.support.v7.widget.RecycvlerView'です。あなたはそれを見つけて自分で解決することができます。また、コードを表示することができます。私はそれを見つけて解決します。 – KeLiuyue

答えて

0

あなたはcode.In `Logcat`私たちを表示する必要がandroid.support.v7.widget.RecyclerView

関連する問題