android——fragment长时间home或者锁屏java.lang.IllegalArgumentException:No view found for id for....

在项目中遇到了这个问题。头痛了很久,总是无法重现,也不能很好的解决。总是在息屏后一段时间,就会报java.lang.IllegalArgumentException:No view found for id for....的问题,然后程序就崩溃了。相信很多朋友也有和我一样遇到这个问题的。那么这个问题怎么去解决呢?

在仔细研究fragment的manager后,下面是我发现的东西

什么鬼?怎么会有两个fragmentManager。这两个东西有什么关系呢?

API上面说了一大堆,我这里简单总结一下就是。

如果fragment在replace新的fragment的时候,容器用的是Activity布局中某个部分或者整体作为容器,那么,就使用getFragmentManager();

即:getFragmentManager到的是activity对所包含fragment的Manager。

如果fragment在replace新的fragment的时候,容器用的是此fragment的布局文件中某个整体或者部分view作为容器,那么,就是用getChildFragmentManager();

即:fragment嵌套fragment,就需要利用getChildFragmentManager()

时间: 2024-10-25 09:23:22

android——fragment长时间home或者锁屏java.lang.IllegalArgumentException:No view found for id for....的相关文章

Android广播接收器注册问题:Caused by: java.lang.IllegalArgumentException: Receiver not registered

1.程序中明明使用如下方法进行了广播的注册和解除注册: mContext.registerReceiver(downloadReceiver, filter); mContext.unregisterReceiver(downloadReceiver); 但程序运行过程中还是有一下问题: android.app.IntentReceiverLeaked: Activity *********** has leaked IntentReceiver *********** that was ori

屏蔽电信流氓广告造成的诡异的问题--Android WebView 长时间不能加载页面

发现在家里的时候用Android App里的WebView打开网站很慢,会有十几秒甚至更长时间的卡住. 但是在电脑上打开同样的网页却很快. 查找这个问题的过程比较曲折,记录下来. 抓取Android网络数据 为了调试这个问题,首先要抓取Android的网络包数据.开始时,是想用Wireshark来抓包的,但是很麻烦,tcpdump在手机要root权限. 于是转换思路,能不能在Android上设置代理,来抓包? 但是fiddler没有linux版本,于是转用BurpSuite了. 设置Androi

Windows下Android Studio长时间停留在Building "Project Name" Gradle project info画面的解决方法

问题描述: 创建好一个Android项目后,Android Studio长时间停留在Building [Project Name] Gradle project info画面不动. 原因: 此时Android Studio在下载gradle-X.XX-all.zip文件,但是下载过程中经常中断,导致重来(不支持断点续传?). 解决办法: 1. 首先查看gradle版本,路径:C:\Users\[用户名]\.gradle\wrapper\dists\gradle-X.XX-all 2. 然后去Gr

android Caused by: java.lang.IllegalArgumentException: Binary XML file line #7: Must specify unique

今天写了一个静态得fragment,好久没写了,一写就出现问题了,先看下布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=&qu

android 如何分析java.lang.IllegalArgumentException: Cannot draw recycled bitmaps异常

该类问题的分析,一般是需要找到bitmap对象在那个位置有被recyle,然后再检查代码. 如何定位到是在哪个代码位置有把bitmap 对象recyle,可以在 Bitmap.java的recycle方法中,加log打印出call stack来定位. 具体的修改参考如下: public void recycle() { if (!mRecycled) { if (nativeRecycle(mNativeBitmap)) { // return value indicates whether n

解决Android studio 启动报错java.lang.RuntimeException: java.lang.IllegalArgumentException

报错内容 Internal error. Please report to https://code.google.com/p/android/issues java.lang.RuntimeException: java.lang.IllegalArgumentException: Argument for @NotNull parameter 'name' of com/android/tools/idea/welcome/Platform.<init> must not be null 

Android 多点触控错误处理(java.lang.IllegalArgumentException: pointerIndex out of range)

最近做View的多点触控时,每次第一次触控事件完美运行,第二次就直接崩了,错误信息如下: 01-03 00:05:44.220 4377-4410/system_process E/AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: android.ui java.lang.IllegalArgumentException: pointerIndex out of range at android.view.MotionEvent.nat

【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)

原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添加进工作的build path.3.(关键的一步)将lib设为源文件夹.如果不设置,则程序编译可以通过,但运行的时候,会报: java.lang.NoClassDefFoundError # re: Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundErro

关于dialog引起的 java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView not attached to window manager 错误的分析

在跑Monkey测试的时候出现了一个比较特别的问题,先来看看Log: 1 // CRASH: com.meizu.media.painter (pid 12491) 2 3 // Short Msg: java.lang.IllegalArgumentException 4 5 // Long Msg: java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{2