Как перезагрузить фрагмент из веб-интерфейса - PullRequest
0 голосов
/ 01 января 2019

Я пишу приложение на Android, используя только веб-представление, и я использую веб-интерфейс для создания Java-кода из JavaScript.У меня есть класс WebViewFragment для загрузки файлов активов.И это работает так:

fragment = new WebViewFragment("file:///android_asset/account.html");

Мне нужно перезагрузить Fragment с другим файлом актива.И для этого у меня есть функция loadFragment в классе веб-интерфейса:

@JavascriptInterface
public void loadFragment(String file) {
    mFragmentManager = getSupportFragmentManager();
    mFragmentTransaction = mFragmentManager.beginTransaction();
    mFragmentTransaction.replace(R.id.screen_area, new WebViewFragment("file:///android_asset/" + file));
    mFragmentTransaction.commit();

}

, но выдает такую ​​ошибку:

01-01 21:29:08.065 6502-6571/com.arystankaliakparov.samosval W/System.err: java.lang.IllegalStateException: Activity has been destroyed
01-01 21:29:08.069 6502-6571/com.arystankaliakparov.samosval W/System.err:     at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:2114)
    at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:683)
    at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:637)
    at com.arystankaliakparov.samosval.WebAppInterface.loadAuth(WebAppInterface.java:65)
    at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
    at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:53)
    at android.os.Handler.dispatchMessage(Handler.java:111)
    at android.os.Looper.loop(Looper.java:194)
    at android.os.HandlerThread.run(HandlerThread.java:61)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...