숫자 갯수만큼 이미지를 45개를 만드신건가요?
일단 레이아웃은 ImageView를 하던지 ImageButton을 하던지 상관은 없습니다.
안드로이드는 ImageView에도 클릭 리스너를 사용할수 있기 때문에 상관은 없지만
그냥 보여주기만 하실거면 ImageView 이미지별로 특정 액션이 필요하다면 ImageButton을 추천합니다.
랜덤 같은경우는 drawable에 있는 이미지 Resource ID를 배열로 구현해서 가지고 있다가
랜덤번호가 추출되면 해당 ImageView.setImageResources(이미지배열[random숫자]);
이런 식으로 하시면 될것 같네요.