Я пишу приложение на 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)