Activity를 상속한 클래스에서 setContentView를 안 쓰고 inflate만으로
텍스트뷰에 setText()를 할 수는 없는가요? 아니면 최소한 에러는 발생되지 않아야 되지 않나요?
Activity를 상속하지 않은 클래스에서는 setContentView를 쓰지 않아도 화면 출력까지 되던데 말이죠.
(예, public class SingleItemView extends LinearLayout )
>> 아직도 제가 확실한 개념이 안 잡힌 것 같아 도움 바랍니다.
-----------------------------------------------------------------------------------------------
// 현재 xml에 TextView가 하나 있음.
public class MainActivity extends AppCompatActivity { // Activity 상속
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = (View)inflater.inflate(R.layout.activity_main, null);
// setContentView(v); 여기에 이렇게 작성하면 문제는 없는데요.
TextView txtView = (TextView)findViewById(R.id.textView);
txtView.setText("안녕"); // <질문> 왜 이것이 에러나 나는지 모르겠네요.. null object라고 나오네요.
// 화면에 보이지는 않더라도 에러는 없어야 되지 않나하는 생각인데, 무엇이 문제일까요???
}
}