"R.layout.activity main 컨트롤 변수"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(다른 사용자 한 명의 중간 판 하나는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
;R.layout.activity_main 컨트롤 변수 얻기
;R.layout.activity_main 컨트롤 변수 얻기
;mainLayout 변수 생성
;mainLayout 변수 생성
;getContentView
;getContentView
==소스코드==
*[[MainActivity.java]]에서 onCreate만 변경한 예
*[[MainActivity.java]]에서 onCreate만 변경한 예
*setContentView를 사용하는 방식과 유사하나, 컨트롤 변수를 얻어올 수 있음
*setContentView를 사용하는 방식과 유사하나, 컨트롤 변수를 얻어올 수 있음
*[[activity_main.xml]]에 기술한 형식을 가져와 사용하되, 인스턴스를 명시적으로 생성하면서 컨트롤 변수를 지정함<ref>setContentView 메소드에는 클래스 인스턴스를 생성(new)하여 변수로 받아오는 과정이 생략되어 있는 것이다.</ref>
*[[activity_main.xml]]에 기술한 형식을 가져와 사용하되, 인스턴스를 명시적으로 생성하면서 컨트롤 변수를 지정함<ref>setContentView 메소드에는 클래스 인스턴스를 생성(new)하여 변수로 받아오는 과정이 생략되어 있는 것이다.</ref>
<source lang='java'>
 
==소스코드==
<syntaxhighlight lang='java'>
     protected void onCreate(Bundle savedInstanceState) {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         super.onCreate(savedInstanceState);
14번째 줄: 15번째 줄:
         mainLayout.addView(getLayoutInflater().inflate(R.layout.activity_main, null));
         mainLayout.addView(getLayoutInflater().inflate(R.layout.activity_main, null));
     }
     }
</source>
</syntaxhighlight>
:→ 원래 소스에서는 setContentView에 의해 주레이아웃이 생성되는데<ref>위 소스에서 주석처리된 부분. setContentView 메소드가 R.layout.activity_main 주소에 있는 [[activity_main.xml]]의 의미대로 주레이아웃 생성</ref>, 이때는 컨트롤 변수를 얻어오기가 어렵다.<ref>getContentView가 있어야 할 것 같은데... 없다</ref>
:→ 원래 소스에서는 setContentView에 의해 주레이아웃이 생성되는데<ref>위 소스에서 주석처리된 부분. setContentView 메소드가 R.layout.activity_main 주소에 있는 [[activity_main.xml]]의 의미대로 주레이아웃 생성</ref>, 이때는 컨트롤 변수를 얻어오기가 어렵다.<ref>getContentView가 있어야 할 것 같은데... 없다</ref>
:→ 이 소스에서는 주레이아웃에 접근할 수 있는 변수 mainLayout를 직접 만들어 사용한다.
:→ 이 소스에서는 주레이아웃에 접근할 수 있는 변수 mainLayout를 직접 만들어 사용한다.

2020년 11월 2일 (월) 02:49 기준 최신판

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