Tôi đang tạo ứng dụng có ActionBar
và hai Tab bên dưới. Mọi thứ hoạt động tốt nếu thiết bị/trình giả lập không được xoay. Nếu được xoay, trạng thái tab sẽ tự động chuyển sang tab1 (bình thường, bởi vì onCreate
được gọi) nhưng nội dung không được thay đổi. Nếu tôi chọn một tab theo hướng mới, phương thức onCreateView()
từ số đã chọn Fragment
sẽ được gọi nhưng chế độ xem không được cập nhật (luôn giữ nguyên). Lời khuyên nào?ActionBar Tab với các đoạn trên xoay
Mã.
Hoạt động chính:
ActionBar actionbar = getActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab ATab = actionbar.newTab().setText(R.string.player);
ActionBar.Tab BTab = actionbar.newTab().setText(R.string.stations);
Fragment AFragment = new AFragment();
Fragment BFragment = new BFragment();
PlayerTab.setTabListener(new MyTabsListener(AFragment));
StationsTab.setTabListener(new MyTabsListener(BFragment));
actionbar.addTab(ATab);
actionbar.addTab(BTab);
Với tab giống hệt nhau mà hiển thị một TextView đơn giản. Textview đơn giản nói tab nào được chọn.
Những mảnh vỡ:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.a, container, false);
}
Cách bố trí Fragment, đã đề cập ở trên, chỉ chứa một TextView với các dòng chữ cứng. (Chỉ dành cho mục đích thử nghiệm)
Bố cục chính trông như thế này.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>
</LinearLayout>
Bạn có muốn onCreate() được gọi khi xoay thiết bị? – nhaarman
Có và Không, trong ví dụ này là ok. Trong ứng dụng cuối cùng, cũng Ok, nhưng tôi nghĩ rằng không phải là cách tốt nhất. Bạn có muốn sử dụng 'android: configChanges =" keyboardHidden | orientation "'? Tôi đọc về nó và bất cứ ai nói điều gì đó về rò rỉ bộ nhớ và phương sách cuối cùng. Có đúng không? Có cách nào tốt hơn? – Leandros