这是一个Android资源文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:paddingLeft="20dip"
android:paddingRight="20dip" android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:id="@+id/pt_name_view"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:id="@+id/pt_dob_view"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:id="@+id/pt_mrun_view"/>
</LinearLayout>
这是Android应用程序中的相应类:
public class PatientViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.patient_view);
// ... some irrelevant code ...
final TextView nameView = (TextView) findViewById(R.id.pt_name_view);
nameView.setText(pt.getSurname().toUpperCase() + ", " + pt.getGivenNames() );
// ... some more irrelevant code ...
}
此代码直到最近才运行良好。现在,尽管两个文件都没有被更改,但是当代码运行时,nameView仍然是NULL。
答案 0 :(得分:1)
每当你对资源做一点改动(甚至添加一个空格,一个角色,移动文件,添加文件......)时,你的项目编译有时会变得流氓。
请记住,没有什么是完美的,并且有良好的实践。你已经吸取了教训:always save & clean project before running
。