0

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)

Nguyen Hoang Vu
  • 751
  • 2
  • 14
  • 35

0 Answers0