我有一個(gè) android webview 應(yīng)用程序,有超過 3 個(gè)不同的活動(dòng),我的問題是當(dāng)我午餐新活動(dòng)并使用 關(guān)閉它時(shí)finish(),主要的 webview 活動(dòng)將再次刷新。是否可以在我不希望它刷新時(shí)阻止它刷新并僅刷新我希望它刷新的活動(dòng)?我關(guān)注了幾個(gè)帖子,但在cannot resolve symbol FragmentIdentifier其他帖子上出現(xiàn)錯(cuò)誤。這是返回應(yīng)用程序和按下關(guān)閉按鈕時(shí)防止重新加載活動(dòng)/ Webview 的鏈接下面是我在 onresume 方法中記住上次保存的 url 的內(nèi)容。protected void onResume() { super.onResume(); //String message = getIntent().getStringExtra(FSMainActivity.FragmentIdentifier); if(FSwebview != null) { SharedPreferences r_prefs = getSharedPreferences(getPackageName(), MODE_PRIVATE); // String ssn = r_prefs.getString("sessionParameter",""); String lastPage = r_prefs.getString("lastUrl", ""); if(!lastPage.equals("")) { /*if (message == null || message.compareTo(FSMainActivity.showWebViewFragment) == 0) { if (!getSavedInstance()){ changeFragment(new WebViewFragment()); } } else if (message.compareTo(FSMainActivity.showLoginFragment) == 0) { changeFragment(new LoginFragment()); }*/ appLoadUrl(lastPage, false); }else{ appLoadUrl(APP_URL, false); } }}我的網(wǎng)絡(luò)視圖應(yīng)用程序public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView mWebView = new WebView(this); //now do whatever u want mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebViewClient(new HelloWebViewClient()); mWebView.loadUrl("https://example.com/index2.php"); mWebView.setInitialScale(130); //finally setContentView(mWebView);}我在下面存儲(chǔ)最后一個(gè)網(wǎng)址 protected void onPause() { super.onPause(); SharedPreferences prefs = getSharedPreferences(getPackageName(), MODE_PRIVATE); SharedPreferences.Editor edit = prefs.edit(); edit.putString("lastUrl", FSwebview.getUrl()); edit.commit(); }
1 回答

犯罪嫌疑人X
TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
由于您也在加載您的網(wǎng)址onResume()
,因此當(dāng)您的其他活動(dòng)關(guān)閉并且 webview 活動(dòng)成為焦點(diǎn)時(shí),它將被調(diào)用。在這里,您有 2 個(gè)選擇。
僅在onCreate()方法中加載您的網(wǎng)址,因?yàn)樵谀幕顒?dòng)重新啟動(dòng)之前它不會(huì)再次被調(diào)用。
在完成第二個(gè)活動(dòng)之前,在共享首選項(xiàng)中或作為靜態(tài)變量保存一些布爾值,例如。
sharedPreferences.putBoolean("活動(dòng)完成",true);
然后在您的 onResume() 方法中,在加載您的 url 之前檢查上述布爾變量值。請(qǐng)記住根據(jù)您的需要將值設(shè)置回 false,最好在您的第一個(gè)活動(dòng) onStop() 方法中
添加回答
舉報(bào)
0/150
提交
取消