2015-01-16 2 views
0

На основании сообщения об ошибке появляется ошибка раздувания foo.barscratch.ItemView, потому что его не существует. Дело в том, что оно не должно существовать. Я не знаю, что это такое.ClassNotFoundException - класс не должен существовать

Первоначально я скопировал этот файл из другого проекта и переименовал его в foo.bar.BazItemView.

Ничего не следует называть foo.barscratch.ItemView, но поиск строки «царапина» или слова «ItemView» в моем проекте ничего не вызывает. Что тут происходит? Я просто хочу избавиться, если что-то вызывает этот класс.

01-15 21:58:28.073 11348-11348/foo.bar E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: foo.bar, PID: 11348 
    android.view.InflateException: Binary XML file line #3: Error inflating class foo.barscratch.ItemView 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:757) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:482) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
      at foo.bar.BazItemView.inflate(BazItemView.java:17) 
      at foo.bar.BazItemAdapter.getView(BazItemAdapter.java:18) 
      at android.widget.AbsListView.obtainView(AbsListView.java:2344) 
      at android.widget.ListView.makeAndAddView(ListView.java:1864) 
      at android.widget.ListView.fillDown(ListView.java:698) 
      at android.widget.ListView.fillFromTop(ListView.java:759) 
      at android.widget.ListView.layoutChildren(ListView.java:1673) 
      at android.widget.AbsListView.onLayout(AbsListView.java:2148) 
      at android.view.View.layout(View.java:15596) 
      at android.view.ViewGroup.layout(ViewGroup.java:4966) 
      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
      at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
      at android.view.View.layout(View.java:15596) 
      at android.view.ViewGroup.layout(ViewGroup.java:4966) 
      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
      at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
      at android.view.View.layout(View.java:15596) 
      at android.view.ViewGroup.layout(ViewGroup.java:4966) 
      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
      at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
      at android.view.View.layout(View.java:15596) 
      at android.view.ViewGroup.layout(ViewGroup.java:4966) 
      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
      at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
      at android.view.View.layout(View.java:15596) 
      at android.view.ViewGroup.layout(ViewGroup.java:4966) 
      at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) 
      at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) 
      at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) 
      at android.view.View.layout(View.java:15596) 
      at android.view.ViewGroup.layout(ViewGroup.java:4966) 
      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
      at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
      at android.view.View.layout(View.java:15596) 
      at android.view.ViewGroup.layout(ViewGroup.java:4966) 
      at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2072) 
      at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1829) 
      at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) 
      at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779) 
      at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) 
      at android.view.Choreographer.doCallbacks(Choreographer.java:580) 
      at android.view.Choreographer.doFrame(Choreographer.java:550) 
      at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) 
      at android.os.Handler.handleCallback(Handler.java:739) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:135) 
      at android.app.ActivityThread.main(ActivityThread.java:5221) 
      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:899) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
    Caused by: java.lang.ClassNotFoundException: Didn't find class "foo.barscratch.ItemView" on path: DexPathList[[zip file "/data/app/foo.bar-2/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.inflate(LayoutInflater.java:482) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
            at foo.bar.BazItemView.inflate(BazItemView.java:17) 
            at foo.bar.BazItemAdapter.getView(BazItemAdapter.java:18) 
            at android.widget.AbsListView.obtainView(AbsListView.java:2344) 
            at android.widget.ListView.makeAndAddView(ListView.java:1864) 
            at android.widget.ListView.fillDown(ListView.java:698) 
            at android.widget.ListView.fillFromTop(ListView.java:759) 
            at android.widget.ListView.layoutChildren(ListView.java:1673) 
            at android.widget.AbsListView.onLayout(AbsListView.java:2148) 
            at android.view.View.layout(View.java:15596) 
            at android.view.ViewGroup.layout(ViewGroup.java:4966) 
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
            at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
            at android.view.View.layout(View.java:15596) 
            at android.view.ViewGroup.layout(ViewGroup.java:4966) 
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
            at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
            at android.view.View.layout(View.java:15596) 
            at android.view.ViewGroup.layout(ViewGroup.java:4966) 
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
            at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
            at android.view.View.layout(View.java:15596) 
            at android.view.ViewGroup.layout(ViewGroup.java:4966) 
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
            at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
            at android.view.View.layout(View.java:15596) 
            at android.view.ViewGroup.layout(ViewGroup.java:4966) 
            at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) 
            at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) 
            at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) 
            at android.view.View.layout(View.java:15596) 
            at android.view.ViewGroup.layout(ViewGroup.java:4966) 
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 
            at android.widget.FrameLayout.onLayout(FrameLayout.java:508) 
            at android.view.View.layout(View.java:15596) 
            at android.view.ViewGroup.layout(ViewGroup.java:4966) 
            at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2072) 
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1829) 
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) 
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779) 
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) 
            at android.view.Choreographer.doCallbacks(Choreographer.java:580) 
            at android.view.Choreographer.doFrame(Choreographer.java:550) 
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) 
            at android.os.Handler.handleCallback(Handler.java:739) 
            at android.os.Handler.dispatchMessage(Handler.java:95) 
            at android.os.Looper.loop(Looper.java:135) 
            at android.app.ActivityThread.main(ActivityThread.java:5221) 
            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:899) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
    Suppressed 

ItemView.xml

<?xml version="1.0" encoding="utf-8"?> 

<foo.bar.BazItemView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="5dp"> 
</foo.bar.BazItemView> 

item_view_children.xml

<?xml version="1.0" encoding="utf-8"?> 
<merge 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 
    <ImageView 
    android:id="@+id/item_imageView" 
    android:background="@android:color/darker_gray" 
    android:layout_width="60dp" 
    android:layout_height="60dp" 
    android:layout_margin="5dp" 
    android:contentDescription="@string/item_imageView_contentDescription" 
    /> 
    <TextView 
    android:id="@+id/item_titleTextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/item_imageView" 
    android:text="title text" 
    /> 
    <TextView 
    android:id="@+id/item_descriptionTextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/item_imageView" 
    android:layout_below="@id/item_titleTextView" 
    android:layout_marginTop="5dp" 
    android:text="description text" 
    /> 

</merge> 
+0

Опубликуйте свой код с XML-файлом. – Shvet

+0

Возможно, в макете xmls вы используете 'foo.barscratch.ItemView' как имя класса –

+0

@Dhaval Извините, но какой XML-файл? – Calvin

ответ

0

Accordring на исключение, кажется, что вы ссылаетесь некоторые пользовательские представление (или ItemView класс) в макете (XML) в строке 3. Еще раз проверьте файл макета, если с ним все в порядке.

+0

У меня есть шесть xml-файлов в папке Layout. Я опубликовал два, которые не были сгенерированы автоматически. Я все еще не вижу, к чему относится класс 'ItemView'. – Calvin

0

Не уверен. Но вы можете попробовать проверить управление памятью для этого конкретного вида.

Существует возможность получить исключение раздувания, в то время как объем памяти превышает определенные пределы при визуализации представления.

ИЛИ

Проверьте пользовательские просмотра вы пытаетесь показать, не существует.

Сообщите мне, если это работает для вас, чтобы я мог сохранить этот материал в своем уме для дальнейшего использования.

Cheers!

0

Короткий ответ: Reload Project.

Я снова искал слово ItemView и нашел одну ссылку на ItemView.java в файле workspace.xml. Я прокомментировал вывод строки, и Android Studio спросила меня, хочу ли я перезагрузить проект. Я сказал ОК. Ошибок нет.

Кстати, я расколол линию после и после перезагрузки, ошибки не вернулись.

Я подозреваю, что это может быть ошибка с Android Studio. В какой-то момент я перетащил ItemView.java из старого проекта в этот. Появилось диалоговое окно, в котором говорилось о связи с внешним проектом. Я нажал кнопку отмены, но, несмотря на отмену, IDE попыталась выполнить некоторое рефакторинг и дважды сообщала о ошибках, доступных только для чтения.

Спасибо всем, кто предложил помощь!

Смежные вопросы