a better solution for restoring the state of the main activity when the device is flipped. This one doesn't require hacks.

This commit is contained in:
kr.angelov
2014-04-24 18:50:20 +00:00
parent e891e99725
commit 2c9906336d
2 changed files with 13 additions and 19 deletions

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android" <EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/input_text"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_marginBottom="16dp" android:layout_marginBottom="16dp"

View File

@@ -205,26 +205,21 @@ public class ConversationView extends ScrollView {
} }
public void restoreConversation(Bundle state) { public void restoreConversation(Bundle state) {
final ArrayList<String> firstPersonUtterances = state.getStringArrayList("first_person_uterances"); ArrayList<String> firstPersonUtterances = state.getStringArrayList("first_person_uterances");
final ArrayList<String> secondPersonUtterances = state.getStringArrayList("second_person_uterances"); ArrayList<String> secondPersonUtterances = state.getStringArrayList("second_person_uterances");
final ArrayList<Object> translationAlternatives= (ArrayList<Object>) state.getSerializable("translation_alternatives"); ArrayList<Object> translationAlternatives= (ArrayList<Object>) state.getSerializable("translation_alternatives");
post(new Runnable() { int i = 0;
@Override while (i < firstPersonUtterances.size() &&
public void run() { i < Math.min(secondPersonUtterances.size(), translationAlternatives.size())) {
int i = 0; String text = firstPersonUtterances.get(i);
while (i < firstPersonUtterances.size() && addFirstPersonUtterance(text, false);
i < Math.min(secondPersonUtterances.size(), translationAlternatives.size())) {
String text = firstPersonUtterances.get(i);
addFirstPersonUtterance(text, false);
String translation = secondPersonUtterances.get(i); String translation = secondPersonUtterances.get(i);
Object alternatives = translationAlternatives.get(i); Object alternatives = translationAlternatives.get(i);
addSecondPersonUtterance(text, translation, alternatives); addSecondPersonUtterance(text, translation, alternatives);
i++; i++;
} }
}
});
} }
} }