R.layout.activity main 컨트롤 변수

1 개요[ | ]

R.layout.activity_main 컨트롤 변수 얻기
mainLayout 변수 생성
getContentView
  • MainActivity.java에서 onCreate만 변경한 예
  • setContentView를 사용하는 방식과 유사하나, 컨트롤 변수를 얻어올 수 있음
  • activity_main.xml에 기술한 형식을 가져와 사용하되, 인스턴스를 명시적으로 생성하면서 컨트롤 변수를 지정함[1]

2 소스코드[ | ]

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // setContentView(R.layout.activity_main);
        RelativeLayout mainLayout = new RelativeLayout(this);
        mainLayout.addView(getLayoutInflater().inflate(R.layout.activity_main, null));
    }
→ 원래 소스에서는 setContentView에 의해 주레이아웃이 생성되는데[2], 이때는 컨트롤 변수를 얻어오기가 어렵다.[3]
→ 이 소스에서는 주레이아웃에 접근할 수 있는 변수 mainLayout를 직접 만들어 사용한다.

3 같이 보기[ | ]

4 주석[ | ]

  1. setContentView 메소드에는 클래스 인스턴스를 생성(new)하여 변수로 받아오는 과정이 생략되어 있는 것이다.
  2. 위 소스에서 주석처리된 부분. setContentView 메소드가 R.layout.activity_main 주소에 있는 activity_main.xml의 의미대로 주레이아웃 생성
  3. getContentView가 있어야 할 것 같은데... 없다
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}