I'm trying to apply show/hide fragment. Here is my code:
public void loadSpinner() {
final Fragment specialistPickerFragment = (Fragment) getFragmentManager().findFragmentById(R.id.fragmentAppoinmentDetail);
kindOfAppoinmentSpinner = (Spinner) findViewById(R.id.kindOfAppoinment);
List dataSrc = new ArrayList();
dataSrc.add("Khám tổng quát");
dataSrc.add("Khám chuyên khoa");
ArrayAdapter adapter = new ArrayAdapter(MakingAppoinmentActivity.this, R.layout.spinner_config, dataSrc);
adapter.setDropDownViewResource(R.layout.spinner_config);
kindOfAppoinmentSpinner.setAdapter(adapter);
kindOfAppoinmentSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (kindOfAppoinmentSpinner.getSelectedItem().toString().equals("Khám chuyên khoa")) {
getFragmentManager().beginTransaction().setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out)
.show(specialistPickerFragment).commit();
} else {
getFragmentManager().beginTransaction().setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out)
.hide(specialistPickerFragment).commit();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
I'm using code from this question. But my app crash when I travel to the activity where I want it to take effect. I did many search on google and they all have same code. Anyone know why? Here is my error:
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.hoang.bnhnint, PID: 21150 java.lang.NullPointerException: Attempt to write to field 'int android.app.Fragment.mNextAnim' on a null object reference at android.app.BackStackRecord.run(BackStackRecord.java:786) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1582) at android.app.FragmentManagerImpl$1.run(FragmentManager.java:483) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6816) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1565) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1453)