我在以下文件(MySubActivity)的 onCreate 中获得了 NPE:
public class MySubActivity extends MySuperActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myTextView.setText(getResources().getString(R.string.myString));
}
}
我的超级活动:
public class MySuperActivity extends Activity {
protected TextView myTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
myTextView = (TextView)findViewById(R.id.myTextViewid);
}
}
奇怪的是,我在测试应用程序时从未见过这种崩溃。当我测试它时,该页面工作正常。但是,我从 Google 收到了一份崩溃报告,通知我发生了崩溃。我无法重现它,我不知道在什么情况下会发生这种崩溃。看看它对我的工作方式,资源ID和字符串名称等必须是正确的。
我唯一想到的是,也许用户将他们的手机设置为不同的语言,所以它无法正确提取资源。但是,它们都有默认资源,并且我测试了更改我的模拟器的语言并且它没有崩溃。有任何想法吗?