Android:隨筆——取代findViewById
在安卓中最噁心的一條語句莫過於findViewById(),還好有ButterKnife等注入框架來幫我們解決這個問題,今天給大家介紹一個小技巧在不借助第三方框架的情況下來優雅的解決這個問題(此片文章字數比較短)
我們今天用泛型的方法來解決findViewById()麻煩的問題,程式碼特別簡單直接上程式碼
private <T> T $(@IdRes int resid) {
return (T) findViewById(resid);
}
你沒有看錯就是這一句程式碼
其實在大家理解來看這樣寫就可以,但是呢由於只用到了T而沒有宣告,所以他會報錯,所以就有了上文的寫法
private T $(@IdRes int resid) {
return (T) findViewById(resid);
}
如果在類上加泛型就可以這樣寫了
public abstract class ColorfulActivity<T>{
private T $(@IdRes int resid) {
return (T) findViewById(resid);
}
}
如果這樣寫的話就沒有任何問題了,還是推薦最上邊的寫法 簡單明瞭
用法
下面在說一下用法
TextView textView=$(R.id.text);
EditText editText=$(R.id.edit);
總結
這樣簡潔的語法,沒有複雜的轉型看著簡潔吧
相關文章
- Android隨筆01Android
- View.findViewById()和Activity.findViewById()區別View
- android LayoutInflater、setContentView、findviewbyid 區分解析AndroidView
- Android伍什小隨筆(一)Android
- Android應用耗電分析隨筆Android
- Android:隨筆——Android必須知道的註解AnnotationsAndroid
- Android伍什小隨筆(二)- 更新中Android
- 隨筆
- Android 隨筆—— ConstraintLayout 實戰經驗AndroidAI
- 選擇ButterKnife,告別findViewByIdView
- Activity 中的方法 findViewById(int) 和 AppCompatActivity 中的方法 findViewById(int) 都匹配...ViewAPP
- Android 隨筆—— ConstraintLayout 效率爆表的技巧AndroidAI
- Android:隨筆——對頁面的View進行截圖AndroidView
- Android隨筆——搞定流動佈局(FlexboxLayout)AndroidFlex
- MySQL 隨筆MySql
- 隨筆記筆記
- RabbitMQ隨筆MQ
- vuex隨筆Vue
- jQuery隨筆jQuery
- Fragment隨筆Fragment
- oracle 隨筆Oracle
- MySQL隨筆MySql
- 隨筆(二)
- 隨筆哦
- 隨筆1
- 隨筆3
- 隨筆2
- docker隨筆Docker
- 隨筆(1)
- vue隨筆Vue
- 真隨筆
- 翻譯隨筆(隨時更新)
- 使用 Lambda 取代 Android 中的匿名類Android
- Android 隨筆—— 最強大的佈局 ConstraintLayoutAndroidAI
- 隨堂筆記筆記
- IDE隨筆IDE
- 面試題隨筆面試題
- 工作感想隨筆