原创 Adapter.notifyDataSetChanged()不起作用

今天在使用RecyclerView過程中adapter.notifyDataSetChanged()不起作用,通過Logcat打印發現數據源變化了,但是視圖一直沒變,後面發現是list集合在內存中的地址變了。原來使用 adapter.no

原创 Field類的setAccessible()

之前一直以爲setAccessible()的取值是由成員變量的訪問權限決定的,結果經過測試發現,不管成員變量的訪問權限是public、protected、默認、還是private,isAccessible()方法都返回false,但是訪問

原创 自定義 Android Studio 註釋模板

Android Studio 配置註釋模板有兩種方式: File and Code Templates Live Templates 先來說 File and Code Templates:用來配置文件和代碼模板,即文件在創建的時候自

原创 Fragment中的CheckBox初始化沒有效果

fragment界面初始化的時候發現CheckBox調用setChecked()沒有效果,點擊選中後會再次取消選中,搞得我都一臉懵逼,一頓百度後才知道,CheckBox的setChecked()方法改變CheckBox展示狀態是在正式展示

原创 Android動畫知識回顧--補間動畫(一)

首先感謝啓艦大神,本篇主要是對學習Android自定義控件三部曲過程中知識的回顧。 從Animation類繼承的屬性 android:duration      動畫持續時間,以毫秒爲單位  android:fillAfter   

原创 解決服務器返回數據格式不規範導致Json解析出錯

第一種方案:可以使用try來手動拋出異常,並打印錯誤信息 JavaBean bean = null; try { bean = new Gson().fromJson(string, JavaBean.class); } cat

原创 Android文件存儲數據

文件操作所需要的權限: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name=

原创 Android 8.1橫屏界面與豎屏界面跳轉產生屏幕旋轉的問題

問題:從A(PORTRAIT)打開B(LANDSCAPE),然後,又從A finish到B。 A會執行兩次重載。切換兩次屏幕(豎,橫,豎)。 原因:從B返回時,系統仍然調用B的橫屏狀態,此時A會顯示爲B界面退出時的狀態,即橫屏狀態,由於A

原创 Android文件存儲:內部存儲,外部存儲及其路徑

Android系統數據存儲分爲內部存儲和外部存儲,內部存儲是手機系統自帶的存儲,一般空間都不大,外部存儲一般是SD卡的存儲,空間一般都比較大。一般我們會把存儲內容放在外部存儲空間裏。在使用過程需要注意事項: 先判斷SD卡是否可用,可用時

原创 Android導航欄

目前底部導航欄目前基本上每個App必備的。一般被放到首頁的,作爲用來顯示App整個內容的框架。 1.BottomNavigationBar+ViewPager+Fragment 的實現。 Activity 代碼: public clas

原创 generateLayoutParams() 方法的作用

關於自定義ViewGroup,如何layout 子 View,在獲取MarginLayoutParams方面一直不太懂如何操作,通過查閱資料知道獲取MarginLayoutParams 的函數有三個: public LayoutPar

原创 使用Gson解析json格式的字符串

添加依賴 Gradle: dependencies { implementation 'com.google.code.gson:gson:2.8.6' }     Gson的實例化有兩種方式: 1.簡單實例化 Gso

原创 Android 實現FlowLayout流式佈局(熱門標籤)

先上效果圖: 接着看代碼實現: public class FlowLayout extends ViewGroup { protected DataSetObserver mDataSetObserver; priv

原创 BottomSheetBehavior踩坑--IllegalArgumentException: Illegal state argument: 5

在使用BottomSheetBehavior實現底部彈窗我發現點擊切換按鈕沒效果就不說了,居然還報錯了,當時心情臥槽,到底哪裏出問題了? 先看報錯信息:  點擊查看源碼,找到拋出異常的代碼: 看過之後發現要先設置隱藏,真是嗶了狗了。。

原创 Android動畫知識回顧--ValueAnimator屬性動畫

ValueAnimator屬性動畫學是學了,代碼也能寫出了,但是讓我自己講一講就嘿嘿嘿,主要是腦子有點亂,先說下我個人對ValueAnimator的理解。 就ValueAnimator類來說,我們常用的主要有三個方法: public