[Android] Include Other Layout

728x90

 

Include Other Layout

- 레이아웃에서 다른 레이아웃을 포함시킬 수 있는 개념

- 다수의 화면을 구성할 때 중복되는 부분이 있을 경우 사용

- Containers -> include -> 넣고싶은 xml 파일을 클릭 후 OK 클릭 

 

- 뷰 3개가 하나의 화면에서 나올 때 뷰 바인딩 설정은 어떻게 할 것인가?

 * 앱수준의 build.gradle 에서 뷰 바인딩 추가

    buildFeatures {
        viewBinding = true
    }

 

 * mainActivity.java로 이동 해서 바인딩 추가

public class MainActivity extends AppCompatActivity {
    ActivityMainBinding activityMainBinding;
    SecondBinding secondBinding;
    ThirdBinding thirdBinding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);

        activityMainBinding = ActivityMainBinding.inflate(getLayoutInflater());
        secondBinding = SecondBinding.inflate(getLayoutInflater());
        thirdBinding = ThirdBinding.inflate(getLayoutInflater());

        setContentView(activityMainBinding.getRoot());
        
                
        activityMainBinding.textView2.setText("첫 번째 문자열");
        secondBinding.textView.setText("두 번째 문자열");
        thirdBinding.textView3.setText("세 번째 문자열");
        
        ...

 

하지만 위와 같이 각각의 바인딩에 setText를 한 후 실행을 하면 메인 액티비티만 설정이 잘 이루어 진 것을 확인 할 수 있다.

 

이 때에는 include 속성에 id를 준 뒤 

 

다시 MainActivity.java로 돌아와서 아래와 같이 설정하면 정상적으로 텍스트 내용이 수정 된다. 

        activityMainBinding.textView2.setText("첫 번째 문자열");
        activityMainBinding.secondLayout.textView.setText("두 번째 문자열");
        activityMainBinding.thirdLayout.textView3.setText("세 번째 문자열");

 

 

 

728x90

'안드로이드 스튜디오' 카테고리의 다른 글

[Android] 메뉴와 4대 구성요소  (1) 2025.06.13
[Android] Widget의 기본 개념  (0) 2025.06.12
[Android] GridLayout  (1) 2025.06.11
[Android] Space  (0) 2025.06.11
[Android] ConstraintLayout  (1) 2025.06.10