无法解析方法put(java.lang.string,java.lang.string)

时间:2017-04-13 12:19:31

标签: java android

我正在关注放置here的解决方案,并获取一个无法解析方法put(java.lang.string,java.lang.string)我试图避免在我的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);
        }
    }
}

2 个答案:

答案 0 :(得分:3)

编辑器不包含方法“put”。

因为你想要一个网址,你可以使用Editor.putString代替

所以你去了

edit.putString("lastUrl",myWebView.getUrl());

答案 1 :(得分:1)

对于SharedPreferences.Editor没有put方法。 正确的应该是

edit.putString("lastUrl",myWebView.getUrl());

您可以在此处找到更多信息SharedPreferences.Editor