Android 旋转屏幕时如何保存在快速搜索框中输入的值
我在应用程序中实现了快速搜索。但当我打开屏幕时,即时搜索框被破坏了。 旋转屏幕时,如何保存在快速搜索框中输入的值 我需要在用户打开屏幕时保存该值。也就是说,用户已经在搜索框中输入了一些内容,不要点击搜索按钮并打开屏幕。需要重新运行搜索框并写入我们保留的EditText搜索值 这在YouTube应用程序中起作用。Android 旋转屏幕时如何保存在快速搜索框中输入的值,android,Android,我在应用程序中实现了快速搜索。但当我打开屏幕时,即时搜索框被破坏了。 旋转屏幕时,如何保存在快速搜索框中输入的值 我需要在用户打开屏幕时保存该值。也就是说,用户已经在搜索框中输入了一些内容,不要点击搜索按钮并打开屏幕。需要重新运行搜索框并写入我们保留的EditText搜索值 这在YouTube应用程序中起作用。 请帮帮我。您可以将文本框的值保存到变量中,当您返回到该页面时,显示该值中的值。因此,它第一次将显示空白文本框&然后从下一次开始,它将显示您在点击搜索按钮之前输入的值。基本上,您需要将内容
请帮帮我。您可以将文本框的值保存到变量中,当您返回到该页面时,显示该值中的值。因此,它第一次将显示空白文本框&然后从下一次开始,它将显示您在点击搜索按钮之前输入的值。基本上,您需要将内容保存在onSaveInstanceState()方法中,并在onCreate()中还原(如果有)您的活动-有一个Bundle对象被传递用于这个确切的目的
查看this:和this:以获取有关配置更改和活动生命周期的更详细信息。覆盖
onretainonconfigurationinstance()
,并返回要保留的值,如下所示:
@Override
public Object onRetainNonConfigurationInstance() {
// TODO Auto-generated method stub
String myString = myOldString;
return myString;// or return myOldString directly.
}
然后在onStart()
中执行以下操作:
if (getLastNonConfigurationInstance() != null) {
myOldString= (String) getLastNonConfigurationInstance();
yourEditText.setText(myOldString);
} else {
myOldString = new String();
}
提示:如果您的目标是蜂巢或更高版本,建议使用
setRetainInstance(布尔值)
。。。。但这并不意味着onretainonconfigurationinstance()
不受欢迎。谢谢您的回复。我需要在用户打开屏幕时保存该值。也就是说,用户已经在搜索框中输入了一些内容,不要点击搜索按钮并打开屏幕。需要重新运行搜索框并写入我们保留的EditText搜索值。这是一样的,我以为你有搜索按钮