Используйте ChildFragmentManager и вставьте в него URL-адреса своего веб-представления.
В вашей деятельности
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportFragmentManager().beginTransaction().add(R.id.content, WebFragment.newInstance(), "WEB_FRAGMENT_TAG")
.addToBackStack(null)
.commit();
}
@Override
public void onBackPressed() {
WebFragment fragment = (WebFragment) getSupportFragmentManager().findFragmentByTag("WEB_FRAGMENT_TAG");
int stackEntryCount = fragment.getChildFragmentManager().getBackStackEntryCount();
if (stackEntryCount > 0) {
fragment.getChildFragmentManager().popBackStack();
fragment.popUrlBack();
} else {
super.onBackPressed();
}
}
}
В вашем фрагменте
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
getChildFragmentManager().beginTransaction().addToBackStack(url).commit();
}
});
}
public void popUrlBack() {
webView.goBack();
}