无法解析方法 put(java.lang.string, java.lang.string)
Posted
技术标签:
【中文标题】无法解析方法 put(java.lang.string, java.lang.string)【英文标题】:Cannot resolve method put(java.lang.string, java.lang.string) 【发布时间】:2017-04-13 12:19:30 【问题描述】:我正在关注一个放置here 的解决方案,并得到一个 我试图避免在没有方向更改的情况下丢失我的 webview 中的数据手动处理方向变化。
我的代码贴在下面:
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myWebView = (WebView) findViewById(R.id.webcontent);
myWebView.getSettings().setjavascriptEnabled(true); // enable javascript
myWebView.loadUrl("file:///android_asset/Welcome.html");
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
@Override
protected void onPause()
super.onPause();
SharedPreferences prefs = context.getApplicationContext().
getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);
Editor edit = prefs.edit();
edit.put("lastUrl",myWebView.getUrl());
edit.commit(); // can use edit.apply() but in this case commit is better
@Override
protected void onResume()
super.onResume();
if(myWebView != null)
SharedPreferences prefs = context.getApplicationContext().
getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);
String s = prefs.getString("lastUrl","");
if(!s.equals(""))
myWebView.loadUrl(s);
【问题讨论】:
使用 putString 怎么样? developer.android.com/reference/android/content/… 没有java.lang.string
这样的类型。
【参考方案1】:
编辑器不包含“put”方法。
因为要放url,所以可以用Editor.putString代替
这样你就可以了
edit.putString("lastUrl",myWebView.getUrl());
【讨论】:
是的,在 developer.android developer.android.com/reference/android/content/…, java.lang.String)【参考方案2】:SharedPreferences.Editor 没有 put 方法。 正确的应该是
edit.putString("lastUrl",myWebView.getUrl());
你可以在这里找到更多SharedPreferences.Editor
【讨论】:
以上是关于无法解析方法 put(java.lang.string, java.lang.string)的主要内容,如果未能解决你的问题,请参考以下文章
无法解析方法 put(java.lang.string, java.lang.string)
ConcurrentHashMap源码解析_03 put方法源码分析
ConcurrentHashMap源码解析_03 put方法源码分析