zoukankan      html  css  js  c++  java
  • 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 getResources()
    {
    if (this.mActivity == null) {
    throw new IllegalStateException("Fragment " + this + " not attached to Activity");
    }
    return this.mActivity.getResources();
    }

    public final CharSequence getText(int resId)
    {
    return getResources().getText(resId);
    }

    public final String getString(int resId)
    {
    return getResources().getString(resId);
    }

    public final String getString(int resId, Object[] formatArgs)
    {
    return getResources().getString(resId, formatArgs);
    }
    -----------------2--------------------
    public LoaderManager getLoaderManager()
    {
    if (this.mLoaderManager != null) {
    return this.mLoaderManager;
    }
    if (this.mActivity == null) {
    throw new IllegalStateException("Fragment " + this + " not attached to Activity");
    }
    this.mCheckedForLoaderManager = true;
    this.mLoaderManager = this.mActivity.getLoaderManager(this.mWho, this.mLoadersStarted, true);
    return this.mLoaderManager;
    }
    -----------------3--------------------
    public void startActivity(Intent intent)
    {
    if (this.mActivity == null) {
    throw new IllegalStateException("Fragment " + this + " not attached to Activity");
    }
    this.mActivity.startActivityFromFragment(this, intent, -1);
    }
    -----------------4--------------------
    public void startActivityForResult(Intent intent, int requestCode)
    {
    if (this.mActivity == null) {
    throw new IllegalStateException("Fragment " + this + " not attached to Activity");
    }
    this.mActivity.startActivityFromFragment(this, intent, requestCode);
    }

  • 相关阅读:
    MongoDB查询
    MongoDB增删改查
    redis复制
    HTTP请求方法与状态码
    Solr工作原理
    idea多行同一列同时编辑;多光标处同时编辑方法
    SVN merge 三种方式
    vue中msgbox的使用;如何在msgbox中新增一个输入框组件传值给后台
    切换或重新输入svn用户名密码或通过tortoisesvn查看svn密码
    MyBatis中#{}和${}的区别
  • 原文地址:https://www.cnblogs.com/zengbobo-812796958/p/4125997.html
Copyright © 2011-2022 走看看