작성
·
50
0
기존에 있는 setContentView(R.layout.activity_main);이것을 그대로 사용해도 되는데 굳이
buildFeatures{
viewBinding = true
}
글 세팅하고 activityMainBinding을 사용하는 이유는 무엇인지요?
질문을 올리면 해결좀 부탁드립니다. 너무 답이 없으십니다.
public class MainActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[] items = { "CSI-뉴욕", "CSI-라스베가스", "CSI-마이애미", "Friends",
"Fringe", "Lost" };
AutoCompleteTextView auto = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, items);
auto.setAdapter(adapter);
MultiAutoCompleteTextView multi = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1);
CommaTokenizer token = new MultiAutoCompleteTextView.CommaTokenizer();
multi.setTokenizer(token);
multi.setAdapter(adapter);
}
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 activityMainBinding
을 사용하는 이유는 안드로이드 앱 개발에서 뷰 바인딩 기능을 활용하기 위함입니다. 뷰 바인딩은 코드에서 UI 뷰를 보다 쉽게 조작할 수 있도록 도와주는 안드로이드 Jetpack 기능 중 하나입니다. setContentView(R.layout.activity_main);
를 사용하는 대신 activityMainBinding
을 사용하면 다음과 같은 이점이 있습니다:
findViewById
를 사용하지 않아도 되므로 코드가 더 간결해지고, 가독성이 향상됩니다.buildFeatures
의 viewBinding = true
설정을 통해 뷰 바인딩 기능을 활성화시키면, 액티비티나 프래그먼트에서 XML 레이아웃에 접근하는 방식이 보다 안전하고 효율적으로 변화합니다. 따라서, setContentView
를 사용하는 것보다 activityMainBinding
같은 바인딩 객체를 사용하는 것이 추천되는 코딩 패턴 중 하나입니다.