原创 Android使用Parcelable注意事項

想要在兩個activity之間使用Intent傳遞對象,此時被傳遞對象就必須序列化,在android中序列化一個對象有兩種方式,一種是實現Serializable接口,這個非常簡單,只需要聲明一下就OK了,無痕介入。此外andro

原创 Android驗證碼輸入框支持粘貼

驗證碼輸入框,滿足剪切板內容自動填充,看效果 原本做法是6個EditText,後來發現,這樣寫最大問題是,無法滿足粘貼功能,驗證碼短信 一般都帶“複製”,如果犧牲掉了驗證碼粘貼功能 確實有點操蛋。 先聊聊思路: 1.首先想到 寫一個

原创 ListView禁止上下滑動,不影響點擊

有個需求,ListView列表支持篩選。點擊篩選Tabs時候,在Tabs下方彈出FilterCard,遮蓋在ListView列表上層,此時不能滑動Tabs,否則界面好尷尬,只有FilterCard消失時候,列表纔回復滑動。已知Tabs

原创 ListView滑動到指定位置smoothScrollToPositionFromTop

開發需求:listView平滑滑動到指定位置,然後彈出一個展開框; 1.爲了“平滑滑動”,於是我把寫好的setSelection(position)改成smoothScrollToPosition(int position),可是死活

原创 找出單身狗:有2n+1個數,其中有n個數出現過兩次,找出其中只出現一次的數

任何數異或0值不變,任何數與自己異或值爲0。 因此一個數兩次異或同一個數,值不變。 /** * 任何數異或0值不變,任何數與自己異或值爲0。 * 因此一個數兩次異或同一個數,值不變。 */

原创 關於Java自動裝箱拆箱的面試題

問:請寫出運行結果? Long l1 = 128L; Long l2 = 128L; System.out.println(l1 == l2); //1

原创 List截取

/** * 截取list,保留前l位 * Examples: * list = [0, 1, 2, 3, 4, 5] * subList(list, 3); * list =

原创 String字符串去重,保證順序

/** * 字符串去重 * * @param str 待去重字符串 ABBACCDDEF * @return 去重後字符串 ABCDEF */ public

原创 List去重的N種方式

/** * LinkedHashSet有個特性:不能添加重複數據並能保證添加順序 * * @param list */ public static void removeListDu

原创 M3版本迭代小技巧總結

1.RecyclerView,ListView中獲取position時謹慎使用holder.getAdapterPosition(): 1.1 目前測試發現:至少兩種情況下,ArrayIndexOutOfBoundsException

原创 定位權限的獲取方式

/** * 與權限相關的工具類 * Created by @author iblade.Wang on 2019/1/8 19:22 */ public class PermissionUtils { /**

原创 Android獲取定位經緯度,轉換成地址

public class CustomViewActivity extends AppCompatActivity { @Override protected void onCreate(Bundle save

原创 Android Studio 找不到符號 變量xxx 類id

module中佈局文件移動文件之後,發現代碼編譯錯誤,報錯信息如下: 錯誤: 找不到符號 符號: 變量 tv_content 位置: 類 id 但是,在Android Studio裏面點擊id的使用,仍然可以跳轉到xml裏面。 原

原创 RecyclerView ViewHolder getAdapterPosition()返回-1(NO_POSITION)

RecyclerView 自帶刪除Item方法notifyItemRemoved(position);頻繁點擊刪除時,突然拋出越界異常顯示 position = -1 ; java.lang.ArrayIndexOutOfBound

原创 代碼動態設置Margins

public static void setMargins(View v, int l, int t, int r, int b) { if (v.getLayoutParams() instanceof Vi