Android IllegalAccessError для моего метода класса - PullRequest
0 голосов
/ 23 января 2019

У меня возникла проблема, связанная с IllegalAccessError, в методе моего класса (только на устройствах Android 8)

Я обновил:

  • Android Studio до 3.3
  • плагин Androidдля Gradle до 3.3.0
  • Gradle до 4.10.1

Вот мой класс:

public class ShareDialogFragment extends BottomSheetDialogFragment {

        @Nullable
        @Override
        public View onCreateView(final @NonNull LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable final Bundle savedInstanceState) {
            final View rootView = inflater.inflate(R.layout.fragment_share, container, false);
            ButterKnife.bind(this, rootView);
            readArguments();

            return rootView;
        }

        private void readArguments() {
            if (getArguments() != null) {
                sharedImageGridId = getArguments().getLong(Constants.Extra.SHARED_IMAGE_GRID_ID);
                isReadyToShare = getArguments().getBoolean(Constants.Extra.SHARED_IMAGE_IS_READY);
            } else {
       listener.onShareError(R.string.main_activity_share_photo_error);
            }
        }
}

Здесьтрассировка стека аварийного завершения:

Fatal Exception: java.lang.IllegalAccessError: Method 'void com.jsdev.instasize.fragments.ShareDialogFragment.readArguments()' is inaccessible to class 'com.jsdev.instasize.fragments.ShareDialogFragment' (declaration of 'com.jsdev.instasize.fragments.ShareDialogFragment' appears in /data/app/com.jsdev.instasize-Bj_BEi7m9Z2r1b0gV7ktkQ==/base.apk)
       at com.jsdev.instasize.fragments.ShareDialogFragment.onCreateView(ShareDialogFragment.java:97)
       at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
       at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)

Таким образом, методы readArguments () не могут быть доступны в классе ShareDialogFragment.

Поиск в Google не помог найти ответ.

Какие-либо предложения?:)

1 Ответ

0 голосов
/ 23 января 2019

Попробуйте изменить свой приватный метод

private void readArguments() {

на публичный метод как

public void readArguments() {
...