Android 旋转屏幕时如何保存在快速搜索框中输入的值

Android 旋转屏幕时如何保存在快速搜索框中输入的值,android,Android,我在应用程序中实现了快速搜索。但当我打开屏幕时,即时搜索框被破坏了。 旋转屏幕时,如何保存在快速搜索框中输入的值 我需要在用户打开屏幕时保存该值。也就是说,用户已经在搜索框中输入了一些内容,不要点击搜索按钮并打开屏幕。需要重新运行搜索框并写入我们保留的EditText搜索值 这在YouTube应用程序中起作用。 请帮帮我。您可以将文本框的值保存到变量中,当您返回到该页面时,显示该值中的值。因此,它第一次将显示空白文本框&然后从下一次开始,它将显示您在点击搜索按钮之前输入的值。基本上,您需要将内容

我在应用程序中实现了快速搜索。但当我打开屏幕时,即时搜索框被破坏了。 旋转屏幕时,如何保存在快速搜索框中输入的值

我需要在用户打开屏幕时保存该值。也就是说,用户已经在搜索框中输入了一些内容,不要点击搜索按钮并打开屏幕。需要重新运行搜索框并写入我们保留的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搜索值。这是一样的,我以为你有搜索按钮