Me suena a mi que para inflar una vista primero tienes que declarar el Layoutinflater
Código:
LayoutInflater inflater = activity.getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout, null);
Luego crear los objetos de esa vista, fijate que se pone "layout." delante de findViewById
Código:
ImageView imgLogro = (ImageView) layout.findViewById(R.id.imgLogro);
TextView txtTitulo = (TextView) layout.findViewById(R.id.txtTitulo);
TextView txtSubTitulo = (TextView) layout.findViewById(R.id.txtSubtitulo);
Una vez hecho eso ya puede usar los metodos setImageResource o setText.
Y para terminar devuelves la View: toast.setView(layout);
Prueba haber si te funciona.