如何防止后退按钮查杀textview详细信息

时间:2018-04-11 21:05:57

标签: android

我正在开发一个有四项活动的基本应用程序。前两个活动具有在按下后退按钮时重置的文本视图。这是清单

<activity android:name=".MainActivity"
            android:alwaysRetainTaskState="true"
            android:launchMode="singleInstance">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".ContactActivity" />
        <activity android:name=".Page2Activity"
            android:alwaysRetainTaskState="true"
            android:launchMode="singleInstance"/>
        <activity android:name=".FinalActivity"></activity>

我也使用了android:freezesText =“true”但它没有帮助

2 个答案:

答案 0 :(得分:1)

我没有写任何Android程序。但你应该尝试android:alwaysRetainTaskState:&#34; false&#34; 活动所处的任务的状态是否始终由系统维护 - &#34;真的&#34;如果它会,并且&#34;假&#34;如果允许系统在某些情况下将任务重置为初始状态。

答案 1 :(得分:1)

您的解决方案可能是以字符串形式保存数据并在恢复时重新填充对象。您可以将数据保存在onPause()中并在onResume()中重新填充。 我将向您展示如何使用SharedPreference执行此操作。 SharedPreferences是一种保存字符串,整数,列表和其他对象的简单方法,在android中没有数据库。

//This code will save a string. The first parameter in putString() is the key. The second is the value
SharedPreferences.Editor editor = getSharedPreferences("myPrefs", MODE_PRIVATE).edit();
editor.putString("myTextviewText", "Hello World");        
//Save the data
editor.apply();

//This code will retrieve the String. You can run this code and retrieve the value even if the app was killed

SharedPreferences prefs = getSharedPreferences("myPrefs", MODE_PRIVATE); 
String restoredText = prefs.getString("myTextViewText", "default"); 

您可以覆盖onPause并在其中使用代码的第一部分来保存您在textview中想要的内容。我在onResume使用第二部分来检索字符串,然后使用恢复的文本编辑textview文本。要保存多个值,只需使用不同的键来设置和获取数据。

SharedPreferences将在应用停止时保存。它们就像一个数据库,但维护较少。