1. 程式人生 > >int android.view.View.mViewFlags NUll指標的問題解決辦法

int android.view.View.mViewFlags NUll指標的問題解決辦法

1.首先我的問題出現的原因

我的主介面用的是ViewPager+Fragment+Button切換的,通過hide與show方式,切換Fragment。

然後在Fragment中,我又用了一個tablayout+viewpager+fragment切換的方式,切換展示內容。

剛開始沒發現這個bug,但是第二次開啟App就會發現這個bug,而且這個bug定位基本定不到,一頭的霧水。

在網上查了好多的解決辦法,但基本的解決辦法都是一種思路如下:

new Handler().post(new Runnable() {
     public void run() {
         parent.removeView(decoration);
     }
});

我改成這樣的了,在viewpager OnPagerChangListener中就是viewpager中新增子檢視

new Handler().post(new Runnable() {
     public void run() {
         viewpager.removeView(fraglist.get(position).getView());
     }
});

然後我發現,真的管用唉,但是當你去其他頁面在切換回來的時候又出現了這個問題,嗷嗷哦,最終我發現這種解決辦法只試用Activity中第一層的fragment,不適用於這種迴圈巢狀。

還有一種辦法,比較麻煩的辦法就是,把第一層的fragment替換成view,第二層也替換成view,然後再進行巢狀,我就不寫了,抽空寫了部落格沒時間了,講一下思路,就是fragment 不是有個return view嗎,咱們搞一個BasePager,兩個方法一個getView() 一個是DataInView(),載入完資料,用pagerAdapter就可以了,做了一個demo,然後各種替換,又出現了新的問題,就是基本和上面的一樣的效果,我就抑鬱了。

沒辦法第二天專案就得驗收,就用了button+fragment切換,用的還是hide+show方式切換,但是問題問題又出現了,第三頁以後會頁面重疊,what are you 弄啥嘞,氣的不行,然後各種百度,說什麼的都有,什麼儲存資料狀態,防止fragment重新建立例項,但是還是不行,加tag再在記憶體中取出來,還是不行,最後我用的是replace,清空之前所有,然後就可以了。

誰有更好的辦法?能告訴我一下,交流一下唄。



相關推薦

Android中getActivity()為null解決辦法

前言 在日常開發中的時候,我們經常會使用ViewPager+Fragment進行檢視滑動,在某些部分邏輯也許我們需要利用上下文Context(例如基本的Toast),但是由於Fragment只是依附在Activity容器的一個試圖,如果需要拿到當前的Activity的上下文

int android.view.View.mViewFlags NUll指標的問題解決辦法

1.首先我的問題出現的原因 我的主介面用的是ViewPager+Fragment+Button切換的,通過hide與show方式,切換Fragment。 然後在Fragment中,我又用了一個tablayout+viewpager+fragment切換的方式,切換展示內容。

Android】getActionBar()為null解決方法總結

andro 調用 種類 ref code trac page 沒有 stack 前言 在使用 ActionBar的時候,有時候會爆出空指針異常,這是由於應用沒有獲取到 ActionBar 導致的,而導致應用沒有獲取到 ActionBar 的原因比較多。

Android GPS getLastKnownLocation()返回null解決

在使用LocationManager.getLastKnownLocation("gps")獲取gps定位的過程中老是報空指標異常 在網上百度查了不少資料發現這個問題多出現在2.0以上版本 解決方法多是: 1.在AndroidManifest.xml中新增 Xml程式碼

多線程下QAxObject指針為NULL解決辦法

app book logs 項目 clas 指針 cat clu null 項目中需要對Excel進行操作,把數據中的數據寫入到Excel文件中。在數據量大的情況下,操作Excel是一件費時的操作。 但是執行到下列代碼時就會出現空指針的情況: 1 QAxObject *e

android studio更新gradle失敗的解決辦法-轉

簡書 wrapper all mina wrap 技術 有一個 class tar android studio中每次自動更新gradle時速度實在太慢因為gradle服務器比較慢,所以更新gradle會比較慢,建議先下載下來,然後手動添加到gradle的下載目

window.opener引用為null解決辦法

function this 遍歷 fun eat 移除 當前 頂級 int 項目使用的是iframe來包含新打開的頁面,在使用IE的時候,通過window.open打開子頁面之後,在子頁面是可以獲取到打開窗口的父頁面的引用,但是在使用firefox與chrome的時候,卻無

springboot中使用filter時注入bean為null解決辦法

過濾器是servlet規範中定義的,並不歸spring容器管理,也無法直接注入spring中的bean(會報錯) 初始化時通過spring上下文獲取,進行bean的初始化: @Override public void init(FilterConfig filterConfig) throws Serv

Tomcat-前端所傳表單資料太大,導致後臺引數接收不到為null解決辦法

    原因是傳輸的資料大小超過了tomcat的預設post請求大小,預設為2097152Byte,也就是2M的大小。 如果要傳輸超過2M的資料則需要修改tomcat的server.xml下的maxPostSize屬性,如下: <Connector port="

SpringBoot後端實體通過@RequestBody接收傳進來的json為Null解決辦法

樓主今天在開發後端介面的時候,遇到了一個傷腦筋的問題,看下圖: 樓主用@RequestBody註解通過實體去接收前端的json值,前端json值和實體TerminalPosition一一對應的,結果發現怎麼傳terminalPosition這個物件都為空,很奇怪; 樓

前端所傳表單資料太大,導致後臺引數接收不到為null解決辦法

原因是傳輸的資料大小超過了tomcat的預設post請求大小,預設為2097152Byte,也就是2M的大小。 如果要傳輸超過2M的資料則需要修改tomcat的server.xml下的maxPostSi

android studio 建立動畫時報錯:Error: style attribute '@android:attr/windowExitAnimation' not found的解決辦法

在編寫安卓動畫時,遇到了Error: style attribute '@android:attr/windowExitAnimation' not found的報錯style中的程式碼如下<!-- 進出場動畫都用到的anim style--> <s

Android中EditText實現不可編輯解決辦法

解決方法: 其實只需一行程式碼就能搞定et.setKeyListener(null); 注意, 這裡不是setOnKeyListener, 而是setKeyListener. 此方法是TextV

記錄android studio 遇到的錯誤和解決辦法

1、關於android studio 出現Error:Execution failed for task :app:preDebugAndroidTestBuild'. 的解決辦法 https://blog.csdn.net/fighting_2017/article/details/80244

Android學習之 adb被佔用解決辦法

 1、adb被佔用解決辦法 方法一: (1)檢視5037埠哪個程序在用           netstat -a -o 5037 (2)檢視上面程序是哪個執行檔案在佔用           tasklist /fi "pid eq 3188" (3)設定禁用程式,上面查出的執行檔案           (1)

異常java.lang.NoClassDefFoundError: android.support.v7.widget.TintManager的解決辦法

本文轉載自:http://blog.csdn.net/zhou12314/article/details/52120063。 最近在寫專案的時候,需要匯入別的工程,在匯入工程的時候,編譯也通過了,專案也沒有報錯,但是在執行的時候,就出現了這個異常: java.lang.NoCla

TextView title 文字過多滾動 TextView屬性android:ellipsize="marquee"不生效的解決辦法

public static void setTextMarquee(TextView textView) { if (textView != null) { textView.setEllipsize(TextUtils.Trunc

Android Studio xml Unknown attribute 錯誤解決辦法,親測有效

記錄一個問題,Android Studio xml Unknown attribute 問題出現的在xml檔案中,屬性不提示,還被標記為淡黃色 該問題其實很好解決,百度收到一堆解決方式,但是沒有一個有用,最後stackoverflow上有個外國友人給出了答案 It is very

安裝AndroidStudio時出現unable to access android sdk add-on list的解決辦法

上一篇好像因為寫了S和諧S和諧R被和諧了,呵呵,csdn垃圾玩意。 由於csdn的限制我就不再放圖,文字談方法。 0x01 本方法有一個前提條件,你需要有一個能用的梯子,我是用的是S和諧S和諧R,不知道是什麼的自行google。 0x02 將該S和諧S和諧R設定為全域性

由於檔案編碼問題造成json_encode 中文變成null解決辦法

在使用json_encode時,如果檔案不是UTF-8格式並且陣列中存在中文,該中文會輸出為null 示例程式碼: <?php $brand = array('id'=>'123456','name'=>'中國人'); var_dump(json_