ViewInjectを必要とせず、findViewByIdを簡略化

1943 ワード

このブログはとても短くて、みんなはコードを书く时findViewByIdを书くことにうんざりしているかもしれません.私もそうです.この时、注釈を利用して书いたViewInjectを选んで、この操作を简単にするかもしれませんが、私はViewInjectが大好きではありません.
この時、私は自分でfindViewByIdを簡略化したいと思っています.簡略化したらどう使いますか.次のコードを見て、
TextView textView = V.f(this, R.id.textView);
ImageView imageView = V.f(convertView, R.id.image);

この方法は2つの問題を解決しました
 1.  `findViewById`  。
 2.  。 

では、この2つのV.fの方法をどのように実現すればいいのでしょうか.実は簡単です.
/** * view utils * @author loader * */
public class V {

    /** * activity.findViewById() * @param context * @param id * @return */
    public static <T extends View> T f(Activity context, int id) {
        return (T) context.findViewById(id);
    }

    /** * rootView.findViewById() * @param rootView * @param id * @return */
    public static <T extends View> T f(View rootView, int id) {
        return (T) rootView.findViewById(id);
    }
}

1行のコードだけで済むので,java汎用法のタイプ導出の特徴を利用した.
OK、このブログは簡単です.みんなcopyコードで思う存分遊びましょう.