Error inflating class android.support.v7.app.AlertController.RecycleListView

我的未来我决定 提交于 2019-12-02 05:55:13

问题


my app couldn't start it crashes immediately after i installed it and i couldn't understand the error!

i have created two recylcerView for two fragments which are attached in the main activity xml file

Error:

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.invincible.fragfrag, PID: 14384
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.invincible.fragfrag/com.invincible.fragfrag.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class android.support.v7.app.AlertController.RecycleListView
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2521)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601)
                      at android.app.ActivityThread.access$800(ActivityThread.java:178)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
                      at android.os.Handler.dispatchMessage(Handler.java:111)
                      at android.os.Looper.loop(Looper.java:194)
                      at android.app.ActivityThread.main(ActivityThread.java:5637)
                      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:960)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
                   Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class android.support.v7.app.AlertController.RecycleListView
                      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:288)
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)
                      at com.invincible.fragfrag.MainActivity.onCreate(MainActivity.java:13)
                      at android.app.Activity.performCreate(Activity.java:6100)
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601) 
                      at android.app.ActivityThread.access$800(ActivityThread.java:178) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:194) 
                      at android.app.ActivityThread.main(ActivityThread.java:5637) 
                      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:960) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 
                   Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.app.AlertController.RecycleListView" on path: DexPathList[[zip file "/data/app/com.invincible.fragfrag-1/base.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:288) 
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143) 
                      at com.invincible.fragfrag.MainActivity.onCreate(MainActivity.java:13) 
                      at android.app.Activity.performCreate(Activity.java:6100) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601) 
                      at android.app.ActivityThread.access$800(ActivityThread.java:178) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:194) 
                      at android.app.ActivityThread.main(ActivityThread.java:5637) 
                      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:960) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 
                    Suppressed: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.app.AlertController.RecycleListView" on path: 

MainActivity:

package com.invincible.fragfrag;

import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FragmentManager fragmentManager = getSupportFragmentManager();

        if (fragmentManager.findFragmentById(R.id.table_number_list) == null) {
            TableNumber tableNumber=TableNumber.getTableNumber("number");
            FragmentTransaction transaction =fragmentManager.beginTransaction();
            transaction.add(R.id.table_number_list,tableNumber);
            transaction.commit();

        }
        if  (fragmentManager.findFragmentById(R.id.table_values) == null) {
            TableValue tableValue=TableValue.getTableValue("value");
            FragmentTransaction transaction =fragmentManager.beginTransaction();
            transaction.add(R.id.table_values,tableValue);
            transaction.commit();


        }
    }
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
    }
} 

main xml file:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:orientation="vertical"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.invincible.fragfrag.MainActivity">

    <android.support.v7.app.AlertController.RecycleListView
        android:id="@+id/recycler_view_one"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="0dp">

    </android.support.v7.app.AlertController.RecycleListView>
    <android.support.v7.app.AlertController.RecycleListView
        android:layout_marginTop="5dp"
        android:id="@+id/recycler_view_two"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="0dp">

    </android.support.v7.app.AlertController.RecycleListView>
</LinearLayout>

plz help me out what's the error and how to handle two fragment with two recyclerview in one activity.

THANK YOU for your concern!


回答1:


android.support.v7.widget.RecyclerView

use this code in your xml file to create a listview. Simple!




回答2:


You probably want to use android.support.v7.widget.RecyclerView.

Additional info that you don't need to know

RecycleListView is a nested class of android.support.v7.app.AlertController. One would refer to it as android.support.v7.app.AlertController$RecycleListView (the dollar sign). This is why it crashed at this point.

RecycleListView extends ListView not RecyclerView. That's why it would later crash with ClassCastException when you would try to use it in Java.

RecycleListView is an internal class of appcompat-v7 not to be used in your project.




回答3:


I made the same mistake. Try to replace

android.support.v7.app.AlertController.RecycleListView

with

 android.support.v7.widget.RecyclerView


来源:https://stackoverflow.com/questions/42283764/error-inflating-class-android-support-v7-app-alertcontroller-recyclelistview

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!