본문 바로가기

안드로이드 프로그래밍

뷰 바인딩

이젠 findViewById는 줘도 안쓸래요~

 

사용법

1. build.gradle 설정

buildFeatures{
    viewBinding = true
}

 

2. 이름 통일

 

바인딩 클래스 이름은 규칙이 정해져 있다.

Activity 이름 Binding Class 이름
MainActivity ActivityMainBinding
HelloActivity ActivityHelloBinding
XXXActivity ActivityXXXBinding

 

ActivityMainBinding binding;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = ActivityMainBinding.inflate(getLayoutInflater());
    setContentView(binding.getRoot());
}

 

1. inflate는 xml에 있는 view들을 객체화 해준다!

2. setContentView(binding.getRoot());

하면 끝!

 

객체화가 어떻게 되는가?

android:id="@+id/btn_start"

 

ImageView의 id가 다음과 같다면

btn_start -> btnStart로 객체화 된다!

 

binding.btnStart.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !hasPermissions(Utils.PERMISSIONS)) {
            requestPermissions(Utils.PERMISSIONS, Utils.PERMISSIONS_REQUEST_CODE);
        } else {
            Intent intent = new Intent(MainActivity.this, SelectActivity.class);
            startActivity(intent);
            finish();
        }
    }
});

 

이런 식으로 활용하면 끝

'안드로이드 프로그래밍' 카테고리의 다른 글

JSON 심화  (0) 2024.03.26
All about Intent  (0) 2024.03.24
All about layout  (1) 2024.03.24
Json 기초  (0) 2024.03.22
RecyclerView  (0) 2024.03.22