我有一個 android webview 應用程序,有超過 3 個不同的活動,我的問題是當我午餐新活動并使用 關閉它時finish(),主要的 webview 活動將再次刷新。是否可以在我不希望它刷新時阻止它刷新并僅刷新我希望它刷新的活動?我關注了幾個帖子,但在cannot resolve symbol FragmentIdentifier其他帖子上出現錯誤。這是返回應用程序和按下關閉按鈕時防止重新加載活動/ Webview 的鏈接下面是我在 onresume 方法中記住上次保存的 url 的內容。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); } }}我的網絡視圖應用程序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);}我在下面存儲最后一個網址 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貢獻2080條經驗 獲得超4個贊
由于您也在加載您的網址onResume()
,因此當您的其他活動關閉并且 webview 活動成為焦點時,它將被調用。在這里,您有 2 個選擇。
僅在onCreate()方法中加載您的網址,因為在您的活動重新啟動之前它不會再次被調用。
在完成第二個活動之前,在共享首選項中或作為靜態變量保存一些布爾值,例如。
sharedPreferences.putBoolean("活動完成",true);
然后在您的 onResume() 方法中,在加載您的 url 之前檢查上述布爾變量值。請記住根據您的需要將值設置回 false,最好在您的第一個活動 onStop() 方法中
添加回答
舉報
0/150
提交
取消