본문 바로가기

Develop/[Kotlin] UOS notice

findViewById를 지우자

Kotlin Android Extension

 kotlin에서 여전히 findViewById를 사용할 수 있지만, kotlin android extension을 이용하면 더 간결하고 실수없이 위젯에 접근할 수 있다. build.gradle (Module: app)에 다음을 추가하면 kotlin android extension을 이용할 수 있다.


apply plugin: 'kotlin-android-extensions'





findViewById를 지우자

 위젯의 id를 곧바로 코드에 사용할 수 있다. id가 예를 들어 'toolbar'이라고 하자. kotlin에서 이 위젯에 접근하려면 그저 toolbar라고만 하면 된다. 아래의 예제를 보자.


@Override

protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

JAVA



override fun onCreate(savedInstanceState: Bundle?)

{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

setSupportActionBar(toolbar)

Kotlin




import

단, import 영역에 toolbar가 포함된 레이아웃을 적어준다. 나는 toobar라는 id를 갖는 위젯이 layout 폴더의 app_bar_main.xml에 있으므로 그것을 import 했다.

import kotlinx.android.synthetic.main.app_bar_main.*