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

(새 문서: ;R.layout.activity main 컨트롤 변수 얻기 ;mainLayout 변수 생성 ==소스코드== MainActivity.java에서 onCreate만 변경한 예 <source lang='java'> protected vo...)
 
잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(다른 사용자 한 명의 중간 판 13개는 보이지 않습니다)
1번째 줄: 1번째 줄:
;R.layout.activity main 컨트롤 변수 얻기
==개요==
;R.layout.activity_main 컨트롤 변수 얻기
;mainLayout 변수 생성
;mainLayout 변수 생성
;getContentView
*[[MainActivity.java]]에서 onCreate만 변경한 예
*setContentView를 사용하는 방식과 유사하나, 컨트롤 변수를 얻어올 수 있음
*[[activity_main.xml]]에 기술한 형식을 가져와 사용하되, 인스턴스를 명시적으로 생성하면서 컨트롤 변수를 지정함<ref>setContentView 메소드에는 클래스 인스턴스를 생성(new)하여 변수로 받아오는 과정이 생략되어 있는 것이다.</ref>


==소스코드==
==소스코드==
[[MainActivity.java]]에서 onCreate만 변경한 예
<syntaxhighlight lang='java'>
<source lang='java'>
     protected void onCreate(Bundle savedInstanceState) {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         super.onCreate(savedInstanceState);
11번째 줄: 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>
:→ 이 소스에서는 주레이아웃에 접근할 수 있는 변수 mainLayout를 직접 만들어 사용한다.


==같이 보기==
==같이 보기==
*[[MainActivity.java]]
*[[MainActivity.java]]
*[[activity_main.xml 사용안함]]
==주석==
<references/>


[[분류: ADT]]
[[분류: ADT]]

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