无法解析方法 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)

@AspectJ support (good)

ConcurrentHashMap源码解析_03 put方法源码分析

ConcurrentHashMap源码解析_03 put方法源码分析

Java8 中的 ConcurrentHashMap 的put()方法简单解析

解析HTTP协议六种请求方法,get,head,put,delete,post有啥区别