2016-02-05 54 views
1

我在我的应用中有Webview。当我打开我的应用程序并切换到另一个应用程序或只是进入主屏幕,然后重新打开我的应用程序。 Webview加载我设置的网址以加载onCreate()方法,而不是我在关闭应用程序之前访问的网址。Webview每当活动聚焦时加载相同的url

我保存的网址使用此方法sharedprefrences的帮助: http://developer.android.com/training/basics/data-storage/shared-preferences.html

标准savedUrl是它加载在第一onCreate()方法标准的URL,但它让我写的值还有应用程序暂停时重置?

某些日志:

02-05 09:46:57.443 24132-24132/com.example.okke.testwebapp02 D/SAVING_URL: http://www.remotepressure.com/ 
02-05 09:46:57.453 24132-24132/com.example.okke.testwebapp02 I/chromium: [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot set property 'value' of null", source: (1) 
02-05 09:46:57.453 24132-24132/com.example.okke.testwebapp02 I/chromium: [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot set property 'value' of null", source: (1) 
02-05 09:46:57.453 24132-24132/com.example.okke.testwebapp02 I/chromium: [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot read property 'click' of null", source: (1) 
02-05 09:47:00.201 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [ImeAdapter.java:571] focusedNodeChanged 
02-05 09:47:00.214 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [ImeAdapter.java:213] updateKeyboardVisibility: type [0], flags [0], show [true] 
02-05 09:47:00.214 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [AdapterInputConnection.java:178] updateState [] [0 0] [-1 -1] [true] 
02-05 09:47:00.465 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [ImeAdapter.java:571] focusedNodeChanged 
02-05 09:47:00.489 24132-24132/com.example.okke.testwebapp02 W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 24132 
02-05 09:47:00.878 24132-24132/com.example.okke.testwebapp02 D/SAVING_URL: http://www.remotepressure.com/welcome-page 
02-05 09:47:00.888 24132-24132/com.example.okke.testwebapp02 I/chromium: [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot set property 'value' of null", source: (1) 
02-05 09:47:00.888 24132-24132/com.example.okke.testwebapp02 I/chromium: [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot set property 'value' of null", source: (1) 
02-05 09:47:00.888 24132-24132/com.example.okke.testwebapp02 I/chromium: [INFO:CONSOLE(1)] "Uncaught TypeError: Cannot read property 'click' of null", source: (1) 
02-05 09:47:06.488 24132-24132/com.example.okke.testwebapp02 D/APP: PAUSE 
02-05 09:47:06.638 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [AdapterInputConnection.java:499] finishComposingText 
02-05 09:47:06.735 24132-24138/com.example.okke.testwebapp02 W/art: Suspending all threads took: 19.298ms 
02-05 09:47:06.735 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [AdapterInputConnection.java:499] finishComposingText 
02-05 09:47:09.386 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [InputMethodManagerWrapper.java:27] Constructor 
02-05 09:47:09.387 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [ImeAdapter.java:241] attach 
02-05 09:47:09.387 24132-24132/com.example.okke.testwebapp02 W/art: Attempt to remove non-JNI local reference, dumping thread 
02-05 09:47:09.388 24132-24132/com.example.okke.testwebapp02 W/AwContents: onDetachedFromWindow called when already detached. Ignoring 
02-05 09:47:09.389 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [InputMethodManagerWrapper.java:56] isActive: false 
02-05 09:47:09.389 24132-24132/com.example.okke.testwebapp02 D/APP: CREATE 
02-05 09:47:09.392 24132-24132/com.example.okke.testwebapp02 D/LOADING_URL: http://www.remotepressure.com 
02-05 09:47:09.400 24132-24132/com.example.okke.testwebapp02 D/cr_Ime: [ImeAdapter.java:241] attach 
02-05 09:47:09.404 24132-24132/com.example.okke.testwebapp02 D/APP: START 
02-05 09:47:09.405 24132-24132/com.example.okke.testwebapp02 D/APP: RESUME` 

保存的网址:

public void onPageFinished(WebView view, String url) { 
      if (fromLogin) { 
       //String javascript = "javascript:(function(){ document.getElementById('mib').value = 'aaa'; })()"; 
       //String javascript = "javascript:document.forms[0].username.value = '"+test01+"';"; 

       mWebView.loadUrl("javascript:var x = document.getElementById('modlgn-username').value = '" + userName + "';"); 
       mWebView.loadUrl("javascript:var z = document.getElementById('modlgn-passwd').value = '" + passWord + "';"); 
      /*mWebView.loadUrl("javascript:(function(){"+ 
        "l=document.getElementById('form-login-submit');"+ 
        "e=document.createEvent('HTMLEvents');"+ 
        "e.initEvent('click',true,true);"+ 
        "l.dispatchEvent(e);"+ 
        "})()");*/ 
       //var y = $document.getElementById('form-login-submit').click();"); 
       //mWebView.loadUrl("http://www.google.com/"); 
       mWebView.loadUrl("javascript: var y = document.getElementById('form-login-submit'); y.click();"); 
      } 
      if (mWebView.getUrl() != null) { 
       SharedPreferences sharedpref = Web.this.getPreferences(Context.MODE_PRIVATE); 
       SharedPreferences.Editor editor = sharedpref.edit(); 
       String temp = mWebView.getUrl(); 
       Log.d("SAVING_URL", temp); 
       editor.putString(getString(R.string.loaded_url), mWebView.getUrl()); 
       editor.commit(); 
      } 

载入URL中onCreate()

Log.d("LOADING_URL", getResources().getString(R.string.loaded_url)); 
mWebView.loadUrl(getResources().getString((R.string.loaded_url))); 
+0

你能发布您的代码? – nurisezgin

+0

我已添加代码 –

+0

您可以控制提交结果吗?简单地说,布尔isCommited = editor.commit() – nurisezgin

回答

0

你不应该使用editor.getString(R.string.loaded_url, "")如果您正在使用共享的偏好,而不只是getResources().getString((R.string.loaded_url))

编辑
editor.getString(R.string.loaded_url, "")
sharedpref.getString(R.string.loaded_url, "")
我的坏

+0

编辑器没有'getString()'方法。 –

+0

对不起,我的意思是''sharedPreference.getString()' –

+0

'getString()'方法需要一个'String'而不是'int'像R.string.loaded_url。 –