[Android] 변화된 findViewById를 확인해보자
안녕하세요. 명동콜링입니다.
최근은 아니지만, Android 8.0(Oreo)부터 findViewById 의 생김새가 바뀌었습니다.
예전부터 Activity에서 XML의 View를 매칭하고자 할 때에는 findViewById를 사용합니다. 사용법은 안드로이드 개발자라면 알다 시피,
이런 형태가 되겠습니다. 그러나 개발을 하다보면 여러개의 다양한 컴포넌트를 일일히 타입에 맞게 캐스팅을 해야하는 번거로움이 있습니다.
하지만, 이제 8.0부터는 캐스팅을 하지 않고도 View 매칭을 할 수 있게 바뀌었습니다.
최근은 아니지만, 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를 바인딩하는 기능이 탑재되어 자동으로 매칭을 시켜줍니다.
댓글
댓글 쓰기