Sie zu informieren, diese Frage als Zu breit weil guten Antworten für dieses Format zu lang wären in Betracht gezogen wird, Eventhough ich es bin beantworten Ihnen klar zu machen, weil ich einfaches Beispiel, das ich vorher versucht hatte.
Es ist das erste Beispiel, das ich die ViewPager
zu üben gemacht habe und ich habe es einfach wie möglich zu Ihnen diese Antwort verstehen, durch viele wesentliche Teile entfernt werden, hoffen, dass Sie das verstehen, aber ich schlage vor, Sie here auch zu sehen stark zu verstehen viewpager, Laden Sie das Beispiel und sehen auch
sagen, Sie haben Modell namens Schüler mit .toBundle
und .toModel
Verfahren wie
public class Model {
public static final String MODEL_ID_KEY = "modelIdKey";
public static final String MODEL_TITLE_KEY = "modelTitleKey";
private int userId;
private int id;
private String title;
private String body;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Bundle toBundle(){
Bundle bundle = new Bundle();
bundle.putInt(MODEL_ID_KEY, this.getId());
bundle.putString(MODEL_TITLE_KEY, this.getTitle());;
return bundle;
}
public Model toModel (Bundle bundle){
Model model = new Model();
model.setId(bundle.getInt(MODEL_ID_KEY));
model.setTitle(bundle.getString(MODEL_TITLE_KEY));
return model;
}
}
einfach haben Sie eine XML enthält ViewPager
<android.support.v4.view.ViewPager
android:id="@+id/myViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Sie haben ScreenSlidePagerAdapter
die FragmentStatePagerAdapter
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
ItemFragment fragment = new ItemFragment();
fragment.setArguments(modelList.get(position).toBundle());
return fragment;
}
@Override
public int getCount() {
return modelList.size();
}
}
erstreckt Wo ItemFragment
ähnliche Dann setzen
public class ItemFragment extends Fragment {
Model model;
TextView tvId;
TextView tvTitle;
public ItemFragment() {
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = this.getArguments();
if(bundle !=null) {
model = new Model();
this.model = model.toModel(bundle);
}
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.item_fragment,container,false);
tvId = (TextView) view.findViewById(R.id.tvId);
tvTitle = (TextView) view.findViewById(R.id.tvTitle);
if(this.model !=null) {
tvId.setText(String.valueOf(model.getId()));
tvTitle.setText(model.getTitle());
}
return view;
}
}
sieht nur die adapter
in MainActivity
pagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
myPager.setAdapter(pagerAdapter);
Hallo Hast du es verstanden? Warum ignorierst du die Antwort ohne ein Feedback zu geben? Wenn du etwas nicht verstanden hast, kannst du frei fragen, ich bin bereit zu helfen. –