aldin_salossa
aldin_salossa

Reputation: 9

Force Close Apps When Run, With LogCat Fatal Exception Error Inflating Class RecyclerView

Create an App using RecyclerView and Retrofit to Call Data from an API.

There's no error message in the java and XML file. But when I run the apps. It's force close.

with this message on its 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

Main 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;
        }
    }
}

Main 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>

I read some other case which already posted here, but I still didn't find any clue how to fix my case.

Any idea?

Upvotes: 0

Views: 155

Answers (1)

Ashutosh Sagar
Ashutosh Sagar

Reputation: 1009

replace android.support.v7.widget.RecycvlerView with android.support.v7.widget.RecyclerView

Upvotes: 0

Related Questions