为什么,这不是好的,它正在创建错误。
super.onCreate(savedInstanceState);
btn = ( Button ) findViewById(R.id.button);
btn.setOnClickListener(this);
setContentView(R.layout.activity_according_to_book);
如果我放" setContentView(R.layout.activity_according_to_book); "在第二行" super.onCreate(savedInstanceState); " ,它不会造成错误。
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_according_to_book);
btn = ( Button ) findViewById(R.id.button);
btn.setOnClickListener(this);
答案 0 :(得分:0)
通过调用setContentView()
,您正在为Activity
的视图层次结构进行充气,然后通过调用Views
获取对findViewById()
的引用。如果您未调用setContentView()
- 视图层次结构中没有任何Views
,则无法引用它们。希望它足够清楚。
答案 1 :(得分:0)
它会产生错误,因为应用在调用setContentView
后加载了布局,因此在该方法之前findViewById
将始终返回null。
答案 2 :(得分:0)
当你打电话时
findViewById(R.id.button);
在R.layout.activity_according_to_book上搜索Button。
所以setContentView(R.layout.activity_according_to_book);
必须在你寻找意见之前。