这是我的代码:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView editTextDay = (TextView)findViewById(R.id.editTextDay);
editTextDay.setVisibility(8); //GONE
setContentView(R.layout.main);
}
没有“editTextDay.setVisibility(8);”应用程序不会崩溃。
关于什么是错的任何想法?
答案 0 :(得分:5)
您应该在调用方法之前设置内容布局:findViewById()
;这就是它返回null的原因。所以你的代码会像这样工作:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView editTextDay = (TextView)findViewById(R.id.editTextDay);
editTextDay.setVisibility(8); //GONE
}
答案 1 :(得分:4)
在setContentView(R.layout.main);
之后移动此行super.onCreate(savedInstanceState);
.
目前,您的textview为null,因此它会抛出异常。首先必须设置视图,然后使用findViewById方法。
答案 2 :(得分:4)
将setContentView放在超级调用下面。 在设置内容视图之前,您无法访问视图:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView editTextDay = (TextView)findViewById(R.id.editTextDay);
editTextDay.setVisibility(View.GONE); //GONE
}