【发布时间】:2014-12-15 15:30:57
【问题描述】:
我一直在寻找一种简单的方法来在我开始我的 webview 活动时转到 prevues 页面,而不是每次打开活动时都打开主页。
我尝试使用 SharedPreferences 保存 prevues 页面,但没有成功。
【问题讨论】:
我一直在寻找一种简单的方法来在我开始我的 webview 活动时转到 prevues 页面,而不是每次打开活动时都打开主页。
我尝试使用 SharedPreferences 保存 prevues 页面,但没有成功。
【问题讨论】:
在super.onCreate() 完成之前,不要在Activity 上调用任意方法。将您的 getSharedPreferences() 调用移到 onCreate() 内,以便在 super.onCreate() 返回后调用:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settings = getSharedPreferences("URL", MODE_PRIVATE);
settings.getString("url", "http://www.google.com");
// rest of your code goes here
}
【讨论】:
当您以这种方式初始化字段时
SharedPreferences settings = getSharedPreferences("URL", MODE_PRIVATE);
在初始化对象(当前为Activity)时调用getSharedPreferences。问题是必须在context 准备好时执行此特定方法。目前,上下文对象是 Activity 本身。因此,如果您想加载共享首选项,您必须等待创建活动,然后才能加载它们。 onCreate 方法来了。调用super.onCreate(...) 后,您可以在此处安全地加载任何上下文相关信息。
【讨论】: