Fragment not attached to Activity

当我点击返回按钮,返回桌面的时候,就会报错,Fragment not attached to Activity这个错误,看logcat里是因为

Bitmap bitmap = BitmapFactory.decodeResource(getResources(),

R.drawable.battery_full);是因为用到了getResources()这个方法,

原因是这样的Fragment在Activity中加载前就调用了或者是在Activity消失后继续调用getResources()方法,获取资源的一些方法。

怎么解决呢??

在Fragment中有 isAdded()这个方法,只需要在加载资源前进行判断即可:

if (isAdded()) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
					R.drawable.battery_full);
}

sAdded()官方解释:

isAdded()
Return true if the fragment is currently added to its activity.
时间: 2024-08-30 05:40:14

Fragment not attached to Activity的相关文章

Fragment not attached to Activity 异常

1.关于Fragment(XXFragment) not attached to Activity 异常.出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数.解决方法,就是等将调用的代码写在OnStart()中.网上还有几处这样的参考:http://stackoverflow.com/questions/10919240/fragment-myfragment-not-attached-to-activ

java.lang.IllegalStateException: Fragment bb{42261900} not attached to Activity

A.处理异常java.lang.IllegalStateException: Fragment bb{42261900} not attached to Activity处理方式:由于在线程中调用Fragment以下方法会出现fragment已经没有附加到activity, 所以在调用这些方法时候加isAdded()判断Fragment源码 --------------------1----------------------------- public final Resources getR

java.lang.IllegalStateException:Fragment XXXFragment{409864b0} not attached to Activity

现象: 这类bug产生的现象就是在Fragment还没添加到Activity中时,去调用了Fragment的getResources().getString(R.string.xxx)这样的函数. 原因: Fragment被添加到Activity之前,如果去调用了Fragment的某些函数就会导致这个异常出现. 解决方案: 在出现问题的地方加入Fragment是否添加到Activity的判断: if(Fragment.isAdded()) { text = getResources().getS

[转]Fragment跳转至Activity或者Fragment

1.Fragment跳转至Activity 从fragment中跳转和从activity中跳转类似,只不过你要先通过fragment的getActivity方法获取到显示这个fragment的activity,具体代码是这样的: Button button = view.findViewById(xxx); button.setOnClickListener(new View.OnClickListener(     onClick(View view) {         startActiv

Android系列之Fragment(一)----Fragment加载到Activity当中

Android系列之Fragment(一)----Fragment加载到Activity当中 ?[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3978989.html 联系方式:[email protected] [正文] Android上的界面展示都是通过Activity实现的,Activity实在是太常用了.但是Activity也有它的局限性

Fragment(9)FragmentActivity和Activity的区别

getSupportFragmentManager()  ,FragmentActivity用在android sdk 3以下. getFragmentManager() + Activity 用在android sdk 3以上. stackoverflow的原文 A FragmentActivity is a subclass of Activity that was built for the Android Support Package. The FragmentActivity cla

(转)Fragment、FragmentActivity与Activity的关系

总结: 1.FragmentActivity继承自Activity,用来解决3.0(API:11)之前没有fragment的兼容性问题,所以在使用的时候需要导入v4 support包,同时继承FragmentActivity,这样在Activity中就能嵌入Fragment来实现布局效果 2.当然3.0之后就可以直接继承自Activity,直接使用Fragment 3.获得FragmentManager的写法是不同的.3.0以下:getSupportFragmentManager()  ,3.0

fragment和自己的activity通讯

在用到fragment的时候,老是会遇到一个问题,就是fragment与activity之间的通信.下面就来记录一下 activity和fragment之间 通过实现接口来互相通信的方法.1. activity 向fragment发出通信,就这么写: private OnMainListener mainListener;        // 绑定接口 @Override public void onAttachFragment(Fragment fragment) { try {       

ActionBar Fragment的一个sample activity

public class MainActivity extends ActionBarActivity { private static ActivityManager am; private static List<RunningAppProcessInfo> appList; private static List<RunningTaskInfo> taskList; @Override protected void onCreate(Bundle savedInstanceS