我使用:
将片段中的服务绑定在片段中private ServiceConnection mConn = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
//HOW CAN I AVOID THIS BEING NULL???
if(getActivity() == null)
System.out.println("NOT HAPPY:(((");
}
}
答案 0 :(得分:1)
这意味着在附加片段之前调用您的代码 试试这个:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mActivity = activity;
}
答案 1 :(得分:0)
我喜欢这个...... 在Application类中,我曾经写过这个getter和setter来获取活动上下文,
private static Context mContext;
public static Context getCurrentActivityContext() {
return mContext;
}
public static void setCurrentACtivityContext(Context context) {
mContext = context;
}
我将从所有活动onCreate(),onResume(),onStart()调用setter。 我将从片段调用getter来获取上下文对象。 我可以说这会对你有所帮助,你不会得到任何NPE。