Tôi đã hoạt động và tôi có thể hiển thị một số đoạn trên framelayout về hoạt động này. Tôi muốn đặt một viewpager tạo thành các mảnh bên trong một mảnh thay vì một FragmentActivity. Điều này có thể giải quyết như thế nào?Làm thế nào để đặt viewpager bên trong mảnh trong android?
8
A
Trả lời
31
Để có một ViewPager
nằm trong một đoạn và có các đoạn trong các trang ViewPager
, bạn cần phải sử dụng các đoạn lồng nhau. Nếu minSdkVersion
của bạn là 17 hoặc cao hơn, việc triển khai các đoạn mã gốc sẽ hỗ trợ các đoạn lồng nhau. Nếu không, bạn sẽ cần sử dụng cổng hậu trường của support-v13
(hoặc support-v4
).
Sau đó, bạn chỉ cần cung cấp cho getChildFragmentManager()
để bạn FragmentPagerAdapter
hoặc FragmentStatePagerAdapter
:
/***
Copyright (c) 2012 CommonsWare, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy
of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required
by applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
OF ANY KIND, either express or implied. See the License for the specific
language governing permissions and limitations under the License.
From _The Busy Coder's Guide to Android Development_
http://commonsware.com/Android
*/
package com.commonsware.android.pagernested;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class PagerFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View result=inflater.inflate(R.layout.pager, container, false);
ViewPager pager=(ViewPager)result.findViewById(R.id.pager);
pager.setAdapter(buildAdapter());
return(result);
}
private PagerAdapter buildAdapter() {
return(new SampleAdapter(getActivity(), getChildFragmentManager()));
}
}
(từ this sample project)
Các vấn đề liên quan
- 1. Làm thế nào thiết lập ViewPager bên trong một Fragment
- 2. SwipeRefreshLayout bên trong ViewPager
- 3. Thay thế đoạn với một mảnh bên ViewPager
- 4. Làm thế nào để sử dụng mảnh vỡ trong Android
- 5. làm thế nào để getPackageManager trong mảnh Android
- 6. android -Làm thế nào để animate viewPager
- 7. mảnh android bên trong hộp thoại
- 8. Làm thế nào để mở một mảnh trên nút bấm từ một mảnh trong Android
- 9. Làm thế nào tôi có thể làm cho ViewPager công việc với RecyclerView bên trong NestedScrollView
- 10. Các mảnh vỡ trong ViewPager được tạo lại
- 11. ViewPager bên trong ListView
- 12. TabLayout với ViewPager không hoạt động bên trong đoạn Android
- 13. Android làm thế nào để ngăn chặn làm mới Những mảnh vỡ về biến đổi tab
- 14. làm thế nào để thêm tabhost trong các mảnh
- 15. ViewPager Các mảnh vỡ không được khởi tạo trong onCreate
- 16. Android: Viewpager bên trong một đoạn của Navigation Drawer
- 17. Android - Cài đặt cuộn ViewPager
- 18. Làm thế nào để tiêu diệt các mảnh vỡ cũ trong FragmentStatePagerAdapter
- 19. Android FragmentTab chủ và Những mảnh vỡ bên trong mảnh vỡ
- 20. Thay đổi pagetitle trong Android Viewpager
- 21. Làm thế nào để tạo băng chuyền ViewPager?
- 22. ViewPager bên trong vấn đề phân đoạn
- 23. Đặt trang mặc định cho ViewPager trong Android
- 24. Làm thế nào để vẽ một mảnh ghép trong Matplotlib
- 25. Phân mảnh bên trong và bên ngoài
- 26. Các mảnh vỡ của ViewPager biến mất
- 27. Làm thế nào để đặt php bên trong JavaScript?
- 28. Làm thế nào để mở trang mảnh, khi ép một thông báo trong android
- 29. Làm thế nào để tách các mảnh vỡ thành các tệp khác nhau trong studio android?
- 30. Cuộn ngang Xem bên trong ViewPager
Cảm ơn rất nhiều, đó là hữu ích. – Sayed
Hoàn toàn làm việc cho tôi, cảm ơn !! – josher932
Trước đây tôi đã sử dụng 'getFragmentManager()'. Sau đó thay đổi bằng 'getChildFragmentManager()'. Làm việc như người ở! –