[Android] 변화된 findViewById를 확인해보자

안녕하세요. 명동콜링입니다.

최근은 아니지만, Android 8.0(Oreo)부터 findViewById 의 생김새가 바뀌었습니다.

예전부터 Activity에서 XML의 View를 매칭하고자 할 때에는 findViewById를 사용합니다. 사용법은 안드로이드 개발자라면 알다 시피,

Button b = (Button) findViewById(R.id.btn1);

이런 형태가 되겠습니다. 그러나 개발을 하다보면 여러개의 다양한 컴포넌트를 일일히 타입에 맞게 캐스팅을 해야하는 번거로움이 있습니다.

하지만, 이제 8.0부터는 캐스팅을 하지 않고도 View 매칭을 할 수 있게 바뀌었습니다.

Button b = findViewById(R.id.btn1);

위와 같이 Button타입인데도 불구하고 TypeCasting을 하지 않은 findViewById를 사용할 수 있게 되었습니다. 

이렇게 바뀜으로써 앞으로 많은 매칭 작업이 더 편해질 것이라 생각이 됩니다.



Java에서는 타입 캐스팅을 하지 않는 반면에, Kotlin에서는 어떨까요.

Kotlin에서는 View 매칭에 대해 더 간단하게 처리할 수 있습니다. 왜냐하면 View 매칭 작업을 하지 않아도 XML에 정의된 id 값을 바로 사용할 수 있기 때문입니다.

내가 XML에 btn1이라는 ID값을 가진 버튼을 사용하고 싶다하면 곧바로 Activity에서 btn1을 찾아 사용할 수 있게 되었습니다.

이것이 가능해진 이유는 바로 Kotlin Android Extension이라는 Kotlin Library로 인해 가능해지게 된 것인데요. 이 라이브러리에는 View를 바인딩하는 기능이 탑재되어 자동으로  매칭을 시켜줍니다.



댓글

주간 인기글

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

[Angular] 모델, 값이 바뀌었는데 화면 template 이 업데이트 되지 않을 때 조치 팁

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #1

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #2

안드로이드에서 당겨서 새로고침(SwipeRefreshLayout) 쉽게 구현하기