안녕하십니까. 주말 잘 보내고 계신지요.
다름이 아니오라, layout.addView() 관련 이해되지 않는 동작이 있어 질문해 봅니다.
소스 코드로 설명하는 게 빠를 듯 합니다.
package kr.and210.helloworld;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
import android.widget.TextView;
public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.main); // 1번
LinearLayout layout = new LinearLayout( this );
layout.setOrientation( LinearLayout.VERTICAL );
TextView tv = ( TextView )View.inflate( this, R.layout.main, null );
layout.addView( tv );
// setContentView( R.layout.main); // 2번
}
}
1번의 setContentView( ) 를 2번에 쓰면, 에러납니다. 왜일까요?
setContentView() 로 Layout을 생성하지 않으면, layout.addView() 는 Null 을 참조해서 에러가 나는 걸까요?
혹시 아시는 분 있으시면 , 알려주시면 감사하겠습니다.
그럼, 좋은 하루 되시기 바랍니다.
여름철 메뚜기가 마냥 부러운 1人




LinearLayout layout = new LinearLayout( this );
layout을 만들어 놓고
layout이 어디에 위치하는지 지정하지 않은 거 아닐까요??
tv를 layout에 붙이려고 하는데 tv는 R.layout.main의 것을 inflate 한 거고
layout은 출처를 알 수 없는 그런거..??