歡迎光臨
每天分享高質量文章

Android ViewFinder

在Android獲取一個View一般都是透過如下方式:

TextView textView = (TextView) findViewById(R.id.textview);

相信大家都寫過無數次findViewById了吧,每次都要Cast一下是否很不爽啊。今天就來介紹三種簡便的方法避免這種Cast

  • 第一種

在專案基類BaseActivity中新增如下函式:

然後就可以透過如下方式獲取View了:

  • 第二種

第一種方法只在Activity裡有效,其實我們經常在其他View或者Fragment裡也常用findViewById方法,當然你可以把上述方法copy一遍,但是這違反了面向物件基本的封裝原則,有大神封裝了一個ViewFinder類,具體程式碼可以見我Gist上的檔案ViewFinder.java (https://gist.github.com/stormzhang/37dc0b94be61eb6c015c), 使用的時候你只需要在你的Activity或者View裡這樣使用:

  • 第三種

前兩種方法本質上是利用了泛型,還有一種利用註解的方式,使用起來更方便,不僅省事的處理了findViewById,甚至包括setOnClickListener這種方法也能很方便的呼叫,具體見我這篇部落格ButterKnife–View註入框架


點選”閱讀原文“即可檢視ButterKnife部落格

贊(0)

分享創造快樂