R.layout.activity main 컨트롤 변수

Jmnote bot (토론 | 기여)님의 2020년 11월 2일 (월) 02:49 판 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

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 }}