【发布时间】:2015-08-31 15:29:15
【问题描述】:
android.app.Fragment$InstantiationException: 无法实例化 片段:确保类名存在,是公共的,并且有一个空 构造函数是公共的。
我知道有很多关于同一错误的问题发布,但到目前为止没有一个对我有帮助。我正在从一本书中学习,并且之前实际上已经运行过确切的(99% 肯定)代码。全部擦除并重写以供审核后,出现错误。
package com.paad.todolist;
import android.app.ListFragment;
import android.os.Bundle;
public class ToDoListFragment extends ListFragment{
public static ToDoListFragment newInstance(int index) {
ToDoListFragment f = new ToDoListFragment();
Bundle args = new Bundle();
args.putInt("index", index);
f.setArguments(args);
return f;
}
}
LogCat:
06-16 03:04:14.091:E/AndroidRuntime(836):致命异常:主要 06-16 03:04:14.091: E/AndroidRuntime(836): java.lang.RuntimeException: 无法开始活动 组件信息{com.paad.todolist/com.paad.todolist.ToDoListActivity}: android.view.InflateException:二进制 XML 文件第 13 行:错误 膨胀类片段 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.ActivityThread.access$600(ActivityThread.java:123) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.os.Handler.dispatchMessage(Handler.java:99) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.os.Looper.loop(Looper.java:137) 06-16 03:04:14.091: E/Android 运行时(836):在 android.app.ActivityThread.main(ActivityThread.java:4424) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 java.lang.reflect.Method.invokeNative(Native Method) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 java.lang.reflect.Method.invoke(Method.java:511) 06-16 03:04:14.091: E/Android 运行时(836):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 dalvik.system.NativeStart.main(Native Method) 06-16 03:04:14.091: E/AndroidRuntime(836):引起:android.view.InflateException: 二进制 XML 文件第 13 行:膨胀类片段时出错 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:739) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:489) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:396) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:352) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.Activity.setContentView(Activity.java:1835) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 com.paad.todolist.ToDoListActivity.onCreate(ToDoListActivity.java:18) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.Activity.performCreate(Activity.java:4466) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 06-16 03:04:14.091: E/AndroidRuntime(836): ... 11 更多 06-16 03:04:14.091: E/AndroidRuntime(836): 由: android.app.Fragment$InstantiationException:无法实例化 fragment com.paad.todoList.ToDoListFragment:确保类名 存在,是公共的,并且有一个公共的空构造函数 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.Fragment.instantiate(Fragment.java:585) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.Fragment.instantiate(Fragment.java:549) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.Activity.onCreateView(Activity.java:4235) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673) 06-16 03:04:14.091: E/AndroidRuntime(836): ... 21 更多 06-16 03:04:14.091: E/AndroidRuntime(836): 由: java.lang.ClassNotFoundException: com.paad.todoList.ToDoListFragment 06-16 03:04:14.091: E/AndroidRuntime(836): 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:501) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:461) 06-16 03:04:14.091: E/AndroidRuntime(836): 在 android.app.Fragment.instantiate(Fragment.java:571) 06-16 03:04:14.091: E/AndroidRuntime(836): ... 24 更多
【问题讨论】:
标签: java android android-fragments