我尝试通过findViewById(int)在我的java文件中引用TextView,但是即使在使用正确的布局文件调用setContentView(int)之后,这似乎也返回null.
Help.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tvBoxHelp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/help"
android:layout_gravity="center"
android:textSize="20sp" />
</LinearLayout>
Help.java
public class Help extends Activity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
setContentView(R.layout.help);
tv = (TextView) findViewById(R.id.tvBoxHelp);
tv.setText("text");
super.onCreate(savedInstanceState);
}
}
提前致谢.
解决方法:
你的super.onCreate(savedInstanceState);位置导致问题.
用这个替换你的Help.java
public class Help extends Activity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.help);
tv = (TextView) findViewById(R.id.tvBoxHelp);
tv.setText("text");
}
}