所以我试图在我的项目中获取一个字符串资源,但是当我调用context.getResources().getString(…)时,我得到一个NullPointerException.在调试模式下,我发现上下文不是null,而是查看其成员,我发现mResources是空的.为什么没有为活动上下文加载资源?
编辑
显然这是触发了例外
public class MyActivity extends Activity { SomeClass someClass = new SomeClass(this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } } public class SomeClass { private final Context mContext; public SomeClass(Context context) { mContext = context; mContext.getResources().getString(R.string.app_name); } }
我不得不将someClass的初始化移动到super.onCreate()之后,如CommonsWare所示.谢谢.