Android 監聽佈局尺寸變化:覆寫 onLayout 方法在尺寸確定後調整
自訂 View 覆寫 onLayout,在 changed 為 true 時執行尺寸調整邏輯,回應 AdMob 等動態視圖變化。 程式碼 View custom
Android Drawable 陣列索引空指針:未初始化 RelativeLayout 導致 setBackgroundResource 失效
陣列 picItems 本身正常,但 RelativeLayout relative 未經 findViewById 初始化即呼叫 setBackgroundR
Android Service 確保執行緒單一實例:使用靜態布林旗標防止重複啟動
在 Service 中宣告 static boolean isThreadRunning,啟動執行緒前檢查旗標,結束時重設,避免重複啟動導致相機等資源衝突。 程
Objective-C 類別介面宣告 C 整數陣列:固定大小或動態指標配合 malloc/free
在 @interface 中宣告 C 風格整數陣列,可選固定大小或動態指標。 固定大小 @interface MyClass : NSObject {
Android 動態建立按鈕並設定間距:使用 LinearLayout.LayoutParams 設置 margins
為每個動態建立的 Button 建立 LinearLayout.LayoutParams,呼叫 setMargins(left, top, right, bot
Android EditText 即時驗證 Email 格式:修正正則表達式轉義點號
原正則 [a-zA-Z0-9._-]+@[a-z]+.[a-z]+ 中的點號 . 為任意字元,導致 @ 後僅需 3 字元即判定有效。需轉義為 \\.。 修正正則
iOS UIScrollView 分頁時改變背景顏色:實作 scrollViewDidScroll 判斷頁碼
實作 UIScrollViewDelegate 的 scrollViewDidScroll:,根據 contentOffset.x 計算當前頁碼,切換背景顏色。
Android 按鈕切換視圖顯示/隱藏:使用布林旗標記錄狀態
宣告 boolean visibilityFlag 記錄當前狀態,點擊按鈕時根據旗標切換 View.VISIBLE / View.INVISIBLE 並翻轉旗標
Android SQLite 找不到資料表:升級資料庫版本號觸發 onUpgrade 重建
修改 SQLiteOpenHelper 建構子的版本號(如從 1 改為 2),系統偵測到版本變更會呼叫 onUpgrade,在其中刪除舊表並重新建立。 修正程式
Android 在 ViewGroup 尋找子視圖:直接呼叫 view.findViewById(R.id.name)
View 本身提供 findViewById(int) 方法,可直接在任意 View(包括 ViewGroup)上查找子視圖,無需轉型。 程式碼 View ro
iOS 視圖添加觸摸事件:疊加透明 UIButton 並設定 TouchUpInside 目標
在任意視圖上添加觸摸響應,最簡單方式是加入一個透明 UIButton 覆蓋整個視圖,設定 TouchUpInside 目標動作。 程式碼 UIButton *t
Android SQLiteOpenHelper onCreate 未執行:刪除模擬器資料庫檔案強制重建
onCreate 僅在資料庫檔案不存在時執行。若已建立舊版資料庫,修改建表 SQL 後不會自動重建。需手動刪除資料庫檔案。 透過 adb 刪除 adb shel
Android Activity onTouchEvent 未被呼叫:改用 dispatchTouchEvent 或加入 Toast 驗證
onTouchEvent 可能被子 View(如 Button、ScrollView)攔截消費。若需在 Activity 層級捕獲所有觸摸,可覆寫 dispat
iOS 禁用 UIButton 但保持外觀:使用 setUserInteractionEnabled:NO 代替 enabled=NO
設定 button.enabled = NO 會導致按鈕外觀變淡(預設行為)。若需禁用互動但保持原有外觀,改用 userInteractionEnabled =
Eclipse Android 專案編譯器合規等級錯誤:在 Java Compiler 設定 1.6 或 1.7
Eclipse 提示 Android requires compiler compliance level 5.0 or 6.0. Found 1.7 inst
Android 使用 Timer 製作計時器:在 runOnUiThread 中更新 TextView 避免崩潰
TimerTask 執行於背景執行緒,不能直接操作 UI 元件。需呼叫 Activity.runOnUiThread 將更新動作派發至主執行緒。 修正程式碼
Android TextView 部份文字變色:使用 SpannableString 設置 ForegroundColorSpan
建立 SpannableString,對指定字元範圍套用 ForegroundColorSpan,再設定給 TextView,實現部分文字變色。 程式碼 Str
Android ImageView 長按震動回饋:設定 OnLongClickListener 啟動 Vibrator
為 ImageView 設定 OnLongClickListener,在回調中取得 Vibrator 系統服務並呼叫 vibrate(100) 提供觸覺回饋。