У меня есть 5 фрагментов, которые я хочу использовать пейджер с представлением и пропустить. Когда я запускаю приложение, есть 5 скользящих действий, но все они пусты.Просмотр пейджера, показывающего пустой
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPager.setAdapter(new CustomPagerAdapter(this));
}
public static class GridSpacingItemDecoration extends RecyclerView.ItemDecoration {
private int spanCount;
private int spacing;
private boolean includeEdge;
public GridSpacingItemDecoration(int spanCount, int spacing, boolean includeEdge) {
this.spanCount = spanCount;
this.spacing = spacing;
this.includeEdge = includeEdge;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int position = parent.getChildAdapterPosition(view); // item position
int column = position % spanCount; // item column
if (includeEdge) {
outRect.left = spacing - column * spacing/spanCount; // spacing - column * ((1f/spanCount) * spacing)
outRect.right = (column + 1) * spacing/spanCount; // (column + 1) * ((1f/spanCount) * spacing)
if (position < spanCount) { // top edge
outRect.top = spacing;
}
outRect.bottom = spacing; // item bottom
} else {
outRect.left = column * spacing/spanCount; // column * ((1f/spanCount) * spacing)
outRect.right = spacing - (column + 1) * spacing/spanCount; // spacing - (column + 1) * ((1f/ spanCount) * spacing)
if (position >= spanCount) {
outRect.top = spacing; // item top
}
}
}
}}
Blood.java
public class Blood extends Fragment {
public Blood(){}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.activity_blood, container, false);
String [] pname = {"Dil Kapoor","Kunal Sharma","Manish Jumle","Vikram Sharma","Varun Surya",
"Vishant","Varsha","Vivek Rawat","Deepak Duggal","Vikas Chauhan","Piyush Pachori","Vishesh Sagar","Ramesh Kumar Jain","Pooja Sethi","Dusmanta Nayak"};
String [] phno={"Ph: 9810383305","Ph: 9911090955","Ph: 7053029216","Ph: 9717709787","Ph: 9910308217","Ph: 9958893461","Ph: 9999106564","Ph: 8527063021","Ph: 9910026715","Ph: 9999597059","Ph: 9654758509","Ph: 9999991434","Ph: 9910350461","Ph: 9868091610","Ph: " +
"9250079218"};
String [] btype = {"Blood Group: O+","Blood Group: AB-","Blood Group: AB+","Blood Group: A+","Blood Group: A+","Blood Group: AB-","Blood Group: B-","Blood Group: AB+","Blood Group: O-","Blood Group: O+","Blood Group: A1B+","Blood Group: AB-","Blood Group: B-","Blood Group: A1B-","Blood Group: A+"};
String[] pincode ={"110059","110058","110058","110059","110058","110056","110059","110058","110059","110060","110059","110060","110059","110058","110060"};
ArrayList<BloodObject> marray = new ArrayList<>();
RecyclerView mRecyclerView = (RecyclerView) getActivity().findViewById(R.id.recycler_viewblood);
LinearLayoutManager mlLinearLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(mlLinearLayoutManager);
mRecyclerView.setHasFixedSize(true);
for(int i=0;i<pname.length;i++)
{
marray.add(new BloodObject(pname[i],phno[i],pincode[i],btype[i]));
}
BloodAdapter mBloodAdapter = new BloodAdapter(marray);
mRecyclerView.setAdapter(mBloodAdapter);
return view;
}}
HomeFragment.java
public class HomeFragment extends Fragment {
FloatingActionMenu fabMenu;
FloatingActionButton fab_search, fab_traker, fab_cart, fab_symptoms, fab_refils, fab_remainder;
RecyclerView recyclerView;
private ArrayList<CustomerHome> mList;
private CustomerHomePageAdapter mAdapter;
private String[] title = {"Order Medicines" , "Daily Use" , "Nutrition" , "Body Care" , "Baby Nutrition", "First Aid"};
private int[] imageResourceId = {R.drawable.ic_firstaid ,
R.drawable.ic_baby ,
R.drawable.ic_nutrition,
R.drawable.ic_cosmetics,
R.drawable.ic_nutrition,
R.drawable.ic_presription
};
public HomeFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
private int dpToPx(int dp) {
Resources r = getResources();
return Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, r.getDisplayMetrics()));
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_home, container, false);
mList = new ArrayList<>();
for(int i = 0 ; i<title.length ; i++)
{
mList.add(new CustomerHome(title[i],imageResourceId[i]));
}
recyclerView = (RecyclerView) getActivity().findViewById(R.id.recycler_view);
mAdapter = new CustomerHomePageAdapter(getActivity() , mList);
RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(getActivity(), 2);
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.addItemDecoration(new MainActivity.GridSpacingItemDecoration(2, dpToPx(10), true));
recyclerView.setAdapter(mAdapter);
fabMenu = (FloatingActionMenu) getActivity().findViewById(R.id.fab_menu);
fab_search = (FloatingActionButton) getActivity().findViewById(R.id.fab_search);
fab_traker = (FloatingActionButton) getActivity().findViewById(R.id.fab_health_tracker);
fab_cart = (FloatingActionButton) getActivity().findViewById(R.id.fab_cart);
fab_symptoms = (FloatingActionButton) getActivity().findViewById(R.id.fab_symptoms);
fab_refils = (FloatingActionButton) getActivity().findViewById(R.id.fab_refils);
fab_remainder = (FloatingActionButton) getActivity().findViewById(R.id.fab_remainder);
fab_remainder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "Remainder Feature coming soon", Toast.LENGTH_SHORT).show();
}
});
fab_refils.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "Refils Feature coming soon", Toast.LENGTH_SHORT).show();
}
});
fab_symptoms.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "Symptoms checker Feature coming soon", Toast.LENGTH_SHORT).show();
}
});
fab_traker.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "Health Tracker Feature coming soon", Toast.LENGTH_SHORT).show();
}
});
fab_cart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "Cart Feature coming soon", Toast.LENGTH_SHORT).show();
}
});
fab_search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "Search Feature coming soon", Toast.LENGTH_SHORT).show();
}
});
return view;
}}
Hospital.java
public class Hospital extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.activity_hospital, container, false);
String hname[] ={" AIIMS "," Indraprastha Apollo Hospital"," Max Superspecialty Hospital"," Sir Ganga Ram Hospital"," Medanta - The Medicity",
" GB Pant Hospital"," Fortis Hospital"," Dr. Ram Manohar Lohia Hospital"," BLK Super Specialty Hospital"," Batra Hospital "};
String hspec[] ={" SPECIALISATION: Gal Bladder/Kidney Transplant/Cardiologist"," SPECIALISATION: Kidney Transplant/Cardiologist/Spine Chord Specialist"," SPECIALISATION: Cardiologist/ Spine Chord Specialist/Neurologist"," SPECIALISATION: Neurologist/Orthopedic/Liver Transplant"," SPECIALISATION: Liver Transplant/Orthopedic/Cardiologist",
" SPECIALISATION: Autograft/Skin Specialist/Spin Chord Specialist"," SPECIALISATION: Skin Specialist/Cardiologist/Cancer"," SPECIALISATION: Spine Chord Specialist/Skin Care/Orthopedic"," SPECIALISATION: Cardiologist/Skin Care/Spine Chord Specialist"," SPECIALISATION: Orthopedic/Cardiologist/Cancer"};
int hpin[] ={110029,110076,110017,110060,122001,110002,201301,110001,110005,110062};
String hcontno[] ={" Ph: 18602583010"," Ph: +91-11-29871090/1091"," Ph: +91 11 4055 4055"," Ph: +91 11-25750000"," Ph: +91 124 414 1414"," Ph: +91 11 2323 4242"," Ph: +911204300222"," Ph: 011-23365525"," Ph: +91 11 3040 3040"," Ph: 91-11-2995 8747"};
ArrayList<HospitalObject> marray = new ArrayList<>();
RecyclerView mRecyclerView = (RecyclerView) getActivity().findViewById(R.id.recycler_view);
LinearLayoutManager mLinearLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(mLinearLayoutManager);
mRecyclerView.setHasFixedSize(true);
for(int i=0;i<hname.length;i++)
{
marray.add(new HospitalObject(hname[i],hspec[i],hpin[i],hcontno[i]));
}
HospitalAdapter mHospitalAdapter = new HospitalAdapter(marray);
mRecyclerView.setAdapter(mHospitalAdapter);
return view;
}}
Это единственные фрагменты, которые закодированы. Остальные два фрагмента пустые У меня есть большое чувство, что я сделал что-то не так во фрагментах.
Пожалуйста, помогите мне с этим
CustomPagerAdapter.java
public class CustomPagerAdapter extends PagerAdapter {
private Context mContext;
public CustomPagerAdapter(Context context) {
mContext = context;
}
@Override
public Object instantiateItem(ViewGroup collection, int position) {
ModelObject modelObject = ModelObject.values()[position];
LayoutInflater inflater = LayoutInflater.from(mContext);
ViewGroup layout = (ViewGroup) inflater.inflate(modelObject.getLayoutResId(), collection, false);
collection.addView(layout);
return layout;
}
@Override
public void destroyItem(ViewGroup collection, int position, Object view) {
collection.removeView((View) view);
}
@Override
public int getCount() {
return ModelObject.values().length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public CharSequence getPageTitle(int position) {
ModelObject customPagerEnum = ModelObject.values()[position];
return mContext.getString(customPagerEnum.getTitleResId()); }}
ModelObject.java
public enum ModelObject {
HOME(R.string.home, R.layout.fragment_home),
BLOOD(R.string.blood, R.layout.activity_blood),
HOSPITAL(R.string.hospital, R.layout.activity_hospital),
NEWS(R.string.news, R.layout.activity_news),
ABOUT(R.string.about, R.layout.activity_about_customer);
private int mTitleResId;
private int mLayoutResId;
ModelObject(int titleResId, int layoutResId) {
mTitleResId = titleResId;
mLayoutResId = layoutResId;
}
public int getTitleResId() {
return mTitleResId;
}
public int getLayoutResId() {
return mLayoutResId;
}}
отправьте код, в котором вы настроили пейджер представления в своей деятельности. –