- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Google Api 示例代码中,他们有一个关于保存状态的非常简单的示例。我需要这个来处理屏幕旋转。
我的问题是我不明白方法 getSavedText()
和 setSaveText()
是从哪里调用的。我将调试器放在它们上面,但它永远不会被触发。整个事情只是靠“魔法”运作。我还能节省什么?我在哪里可以找到解释魔法的文档
public class SaveState extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_save_state);
((TextView)findViewById(R.id.msg)).setText(R.string.hello_world);
}
CharSequence getSavedText() {
return ((EditText)findViewById(R.id.saved)).getText();
}
void setSavedText(CharSequence text) {
((EditText)findViewById(R.id.saved)).setText(text);
}
}
备用链接 http://goo.gl/6TJy5
最佳答案
这个 Api Demo 示例是一个糟糕的示例,因为当您阅读文档时,您期望它会覆盖 onSaveInstanceState() 方法而不是在 onCreate() 或 onRestoreInstanceState() 中使用持久状态,这令人困惑,但事实并非如此。
首先,getSavedText() 和 setSavedText() 方法未在此保存和恢复状态 Activity 中使用。它们在 LocalSample Instrumentation 示例中使用/调用。
忘记这两个方法你可以把它们擦掉。让我们来看看这个示例是如何工作的;在后台 Android 调用 onRestoreInstanceState() 并使所有 UI View 将其状态持久保存到该方法的 Bundle 参数中。请调试代码并在旋转屏幕后检查此示例的 onCreate() 方法中的 savedInstanceState 参数。您将在该 Bundle 中看到 R.id.saved EditText 的旋转文本之前。主要技巧是,为什么其中一个 EditText 正在保存其状态而另一个不是,这是因为 EditText 的 freezesText 属性。 freezesText 属性使 EditText/TextView 在 onSaveInstanceState 方法中保存其状态。请看here有关 freezesText 的更多信息。
从 save_restore_state.xml 中删除 android:freezesText="true"或将其设置为 false 或重写 onRestoreInstanceState 方法并且不调用 super.onRestoreInstanceState() 并观察它在旋转(配置更改)后失去其状态。
注意:您不必为此示例重写 onRestoreInstanceState 方法,但对于保存 Activity 内部状态的其他要求,您必须重写。
关于android - 解释GoogleApi savedInstanceState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11816026/
我正在使用DART构建一个后端服务器。。由于dart没有任何firebase admin sdk,我使用GoogleAPIS来与firebase交互。。对于Firebase认证,我看到它和Google
我需要将图像上传到 Firebase 存储并获取要使用的下载 URL 作为 src对于 我的网络应用程序中的标签。 当我使用 firebase 将图像从浏览器上传到我的存储桶时客户端 SDK,这就是我
我是 GCP 的新手,我正在尝试通过 Terraform 启用一些 API。 variable "gcp_service_list" { description ="Projectof apis"
我的意图: 我想调用 Google 日历的 API acl.list()来自google script使用 UrlFetchApp.fetch()功能。 问题: 我的 Google 脚本在运行时自身具
以下问题:我试图通过 Google Books API 获取信息,我发现 this Example ,但是如果我执行它,它会出现以下错误。 java.net.UnknownHostException:
几天以来,youtube.googleapis.com似乎完全崩溃了。 直到那一刻,嵌入视频(如https://youtube.googleapis.com/v/dQw4w9WgXcQ)都没有问题。目
已经实现了 oauth2.0 并使用范围进行了握手: "https://www.googleapis.com/auth/userinfo.email ", "https://www.googleapi
已实现 oauth2.0 并使用范围完成握手: "https://www.googleapis.com/auth/userinfo.email ", "https://www.googleapis.c
我的用户登录到我的应用程序,应用程序将 idtoken 发送到我的服务器,服务器将请求发送到谷歌,谷歌将用户数据发送到我的服务器,服务器将其放入我的数据库中。工作了 5 个月。现在: 如果我在我的网络
我正在尝试构建一个使用来自以下网址的数据的应用程序:http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=8&q=http%3A%2
使用googleapi时出错 我的错误: (node:7776) UnhandledPromiseRejectionWarning: TypeError: Cannot destructure pro
我正在使用 googleapis 服务获取用户的位置、当前城市名称 + 国家/地区名称: NSString *urlString = [NSString stringWithFormat:@"http
对于新手问题,我深表歉意,因为我是 Android 设备开发的新手(2 天前开始开发)。 不过我明白,要使用谷歌地图的定位服务,当您创建一个项目并且 eclipse 提示您输入 SDK 目标时,您应该
这是我的代码: var http = require('http'); var express = require('express'); var Session = require('express
我有一个应用程序想要嵌入谷歌地图,并且需要将 key 放入配置文件中。所以这就是我所做的: 在 config.js 中 GOOGLE_MAP_KEY = "mykeyofgoogleapi"; 在 i
安装 googleapis pod 时出现错误“没有找到 googleapis 的 podspec。” 我正在尝试安装 pod 'googleapis', :path => '.'但是,它出现以下错误
需要帮助..!我正在研究 Android Transliteration,我的代码中出现以下 3 个错误。 1)GoogleAPI cannot be resolved 2)Translate can
我正在尝试在 Freebase 上查询所有美国县及其地理位置(经度 + 纬度)。我注意到有时查询会起作用,但在其他尝试中它会返回以下内容:。 我尝试更改查询结果限制,但我发现查询失败的限制有所不同;有
我正在学习一个涉及 GoogleMaps API JS 的教程,一切顺利。在尝试构建我自己的应用程序时,我遇到了显示路线的问题。我正在处理的应用程序主要是用 ruby on rails 编写的。
我正在尝试从 .proto 文件编译 GoogleCloudSpeechToTextv1p1beta1 的 C# 库 here . protobuf 编译器可以工作,只是它缺少 googleapis/
我是一名优秀的程序员,十分优秀!