так что я пытаюсь сделать 3 фрагмента с разными веб-обзорами каждый. Но я не могу заставить их работать.
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Page2Fragment extends Fragment {
public Page2Fragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_page2, container, false);
}
}
А для веб-просмотра + кеш у меня есть этот код
public class MainActivity extends AppCompatActivity {
private Context mContext;
private Activity mActivity;
private RelativeLayout mRelativeLayout;
private WebView mWebView;
private String mUrl="https://www.google.pt";
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_ACTION_BAR);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = getApplicationContext();
mActivity = MainActivity.this;
mRelativeLayout = (RelativeLayout) findViewById(R.id.rl);
mWebView = (WebView) findViewById(R.id.web_view);
renderWebPage(mUrl);
}
protected void renderWebPage(String urlToRender) {
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// Do something on page loading started
}
@Override
public void onPageFinished(WebView view, String url) {
// Do something when page loading finished
});
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int newProgress) {
}
});
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setAppCachePath(mContext.getCacheDir().getPath());
mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
mWebView.loadUrl(urlToRender);
}
}`
Я могу заставить код работать один, в другом приложении, но не с фрагментами. С простым веб-просмотром это тоже нормально, но я действительно хочу «кэшировать» веб-сайт или отобразить сообщение об ошибке, говорящее, что Интернет не включен.