2015年8月25日 星期二

ysl-好用的 Activity.getView()(Android的一百種奇技淫巧)

原文出處:好用的 Activity.getView()

在 Activity 中最常看到的函式呼叫,就是 findViewById(),常見用法如下:

TextView tv = (TextView)findViewById(R.id.my_text_view);
...
ImageView iv = (ImageView)findViewById(R.id.preview);

由於 findViewById() 傳回的是 View 這個通用型別。因此實務上每次都要強制轉型成實際的型別,這樣的程式碼看起來實在有點礙眼。

要解決這樣的問題,你只要在 Activity 中,加入底下這個 getView() 函式。

public final <E extends View> E 
getView(int id) 
{
    return (E)findViewById(id);

}


之後,你就可以將原先的 findViewById() 呼叫改寫成底下這個方式:


TextView tv = getView(R.id.my_text_view);
...
ImageView iv = getView(R.id.preview);


一個小技巧,卻可以讓你的程式碼看起來清爽許多。當然在 Fragment 中,你也可加上自己的 getView(),至於如何寫?建議自己研究一下。

沒有留言:

張貼留言

有任何疑問歡迎寄信給我,
但垃圾訊息我會刪光喔!