Ứng dụng Android của tôi có thiết lập lưu lượng đăng ký với Hoạt động và tôi tải các bước dưới dạng phân đoạn vào bố cục hoạt động.Cách tải lại các mảnh vỡ vào hậu trường sau khi thay đổi hướng
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
tools:context="com.example.android.ui.RegisterActivity">
<LinearLayout
android:id="@+id/register_container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"></LinearLayout>
</RelativeLayout>
Bây giờ mỗi lớp đoạn thực hiện một giao diện công cộng thực hiện trong RegisterActivity vì vậy mà tôi biết để tải các đoạn bước tiếp theo và tôi thêm các đoạn mới cho backstack
mFragmentTransaction.addToBackStack(mStepOne.TAG);
bây giờ nó tất cả hoạt động tốt tất cả các cách thông qua 4 bước và tôi có thể điều hướng trở lại thông qua các bước trong khi giữ lại dữ liệu đầu vào trong mỗi đoạn IF nó vẫn trong cùng một hướng (portait)
NHƯNG một lần tôi chang e hướng, các chế độ xem phân đoạn biến mất
nếu tôi lên đến bước 3, tôi vẫn có thể nhấn nút quay lại và nó sẽ quay lại hiển thị cho tôi đoạn có nghĩa là ở đó bằng cách xem người nghe thay đổi hậu trường
mFragmentManager.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
if(mFragmentManager.getBackStackEntryCount() > 0) {
Log.d("BACK STACK", "TAG (name): " + mFragmentManager.getBackStackEntryAt((mFragmentManager.getBackStackEntryCount() - 1)).getName());
}
}
});
Số lượng và thẻ của các đoạn được giữ lại nhưng không được xem. RegisterActivity onCreateView tải các đoạn cụm từ vào khung nhìn và đó là những gì còn lại trong view khi điều hướng qua các bước.
mFragmentManager = getSupportFragmentManager();
mFragmentTransaction = mFragmentManager.beginTransaction();
mTerms = new RegisterFragmentTerms();
mFragmentTransaction.add(R.id.register_container, mTerms);
mFragmentTransaction.commit();
Dường như với tôi lượt xem được tải vào RegisterActivity trên đầu trang của nhau và được xóa khi thay đổi hướng. Có thể giải quyết những gì tôi đang cố gắng làm không? hoặc tôi đã thực hiện sai? Đó là ứng dụng Android đầu tiên của tôi :)
Cheers
Nó đơn giản là dễ dàng lol, cổ vũ bạn đời, Đó là những gì bạn nhận được khi học cái gì đó mới :) – CaptRisky
** Đối với những người khác, đây không phải là giải pháp an toàn. ** hoạt động của bạn. Ví dụ: khi các ứng dụng đói tài nguyên khác đang được sử dụng trong khi ứng dụng của bạn bị thu nhỏ. –
@ G.Steigert, nếu nó chỉ cho sự thay đổi định hướng, nó có thể an toàn, trong khi như để khôi phục lại trạng thái sau khi hoạt động vui chơi giải trí hoặc quá trình khởi động lại, đó chắc chắn là một chủ đề khác. – jobcrazy