Fragment FragmentOne{2627db19} not attached to Activity
2016-07-13 23:18
417 查看
这里的异常是有Fragment中使用getString()所导致的,因为getResource()无法获取到
下面看log及解决方法
出现问题的位置
出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数。解决方法,就是等将调用的代码写在OnStart()中。还有就是添加isAdded()判断,但这样虽然没有报错,但无法获取需要的值,如下
下面看log及解决方法
01-07 00:54:53.513: E/AndroidRuntime(3305): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mypegerdemo/com.android.mypegerdemo.MainActivity}: java.lang.IllegalStateException: Fragment FragmentOne{2627db19} not attached to Activity 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2521) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.app.ActivityThread.access$800(ActivityThread.java:178) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.os.Handler.dispatchMessage(Handler.java:111) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.os.Looper.loop(Looper.java:194) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.app.ActivityThread.main(ActivityThread.java:5637) 01-07 00:54:53.513: E/AndroidRuntime(3305): at java.lang.reflect.Method.invoke(Native Method) 01-07 00:54:53.513: E/AndroidRuntime(3305): at java.lang.reflect.Method.invoke(Method.java:372) 01-07 00:54:53.513: E/AndroidRuntime(3305): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960) 01-07 00:54:53.513: E/AndroidRuntime(3305): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 01-07 00:54:53.513: E/AndroidRuntime(3305): Caused by: java.lang.IllegalStateException: Fragment FragmentOne{2627db19} not attached to Activity 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.support.v4.app.Fragment.getResources(Fragment.java:601) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.support.v4.app.Fragment.getString(Fragment.java:623) 01-07 00:54:53.513: E/AndroidRuntime(3305): at com.android.mypegerdemo.FragmentOne.<init>(FragmentOne.java:14) 01-07 00:54:53.513: E/AndroidRuntime(3305): at com.android.mypegerdemo.MainActivity.initView(MainActivity.java:55) 01-07 00:54:53.513: E/AndroidRuntime(3305): at com.android.mypegerdemo.MainActivity.onCreate(MainActivity.java:31) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.app.Activity.performCreate(Activity.java:6100) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112) 01-07 00:54:53.513: E/AndroidRuntime(3305): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468) 01-07 00:54:53.513: E/AndroidRuntime(3305): ... 10 more
出现问题的位置
@Override public String getTextTitle() { title=getResources().getString(R.string.one); return title; }
出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数。解决方法,就是等将调用的代码写在OnStart()中。还有就是添加isAdded()判断,但这样虽然没有报错,但无法获取需要的值,如下
@Override public String getTextTitle() { if(isAdded()) title=getResources().getString(R.string.one); return title; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories