0
下面的代碼適用於我的設備,但是我看到了生產中的崩潰。 我將活動內容傳遞到newInstance
回調中的片段上下文
我應該如何使用上下文PreferenceManager.getDefaultSharedPreferences()
?
這可能在不同的設備上有不同的表現嗎? (同樣的Android版本)
public class MyFragment extends Fragment {
...
private api myApi;
private Context context;
public static MyFragment newInstance(Context context, ...) {
MyFragment frag = new MyFragment();
frag.context = context;
return frag;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
api = new MyApi(this.context);
update();
}
private update() {
api.getData(new Callback<GenericMobileResponse<ArrayList<MyData>>>() {
@Override public success(GenericMobileResponse<ArrayList<MyData>> genericMobileResponse, Response response) {
ArrayList<MyData> data = genericMobileResponse.getData();
updateItems(data);
}
})
}
private updateItems(ArrayList<MyData>) {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this.context); //Crash! getContext()? this.context? getActivity()? getApplicationContext()
}
}