转换结果findViewById android方法

aka*_*ari 3 android findviewbyid

为什么我们总是要抛出方法返回的值findViewById(id)?该方法已经返回一个视图,正如我在google参考中看到的那样:

http://developer.android.com/reference/android/view/View.html#findViewById(int)

然后是否可以从视图中分离出另一个东西?例如,执行以下操作:

ImageView image = (ImageView) findViewById(R.id.image) ?
Run Code Online (Sandbox Code Playgroud)

Ian*_*son 16

我总是定义一个方法,在我的基本活动中为我做演员:

@SuppressWarnings("unchecked")
public <T extends View> T $(int id) {
    return (T) findViewById(id);
}
Run Code Online (Sandbox Code Playgroud)

这意味着代替:

Button btn = (Button)findViewById(R.id.btn);
Run Code Online (Sandbox Code Playgroud)

你可以做:

Button btn = $(R.id.btn);
Run Code Online (Sandbox Code Playgroud)