Si has desarrollado o desarrollas Android te habrás encontrado con que para inyectar las vistas en la lógica de la Activity necesitas hacer un uso intensivo del "findViewById". Para que no quede un chorizo doloroso de leer en el onCreate(), una buena practica es crear una función que asigne a las variables cada objeto, sin embargo entre asignar el valor y asignarlo actions, generalmente nos queda muy largo el código, siendo esta asignación toda una sección completa; pero por fortuna hay herramientas que nos ayudan a hacer esto más sencillo, una de ellas es Butterknife, que nos ayuda a realizar estas asignaciones fácilmente.

 

Lo primero que hay que hacer es incluir el repositorio

 

implementation "com.jakewharton:butterknife:8.8.1"

 

Posterior a ello, tenemos que incluir su inicialización en el onCreate de nuestra actividad

 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.principal_activity);
    Butterknife.bind(this);
} 

 

Y de ahi tenemos que utilizar las asignaciones, para ello tenemos algunos pasos simples, por ejemplo para hacer referencia a un LinearLayout de id "vista_1", quedaría el código así

 

@BindView(R.id.vista_1)
LinearLayout vista1;

 

También podemos asignar directamente funciones en determinados eventos, por ejemplo un onclick quedaría de la siguiente manera

@OnClick(R.id.paso_1)
void click_Step1()
{
    
}