
mwall
Neues Mitglied
- 0
Ich hab schon einen Beitrag mit einen anderen Thema geöffnet, wo ein ArrayList die Lösung war. Nun hab ich folgendes Problem.Ich mach ne app mit Witzen,Sprüchen und Weisheiten. Die soll so sein wie ein Buch, dass man einfach durchblättern kann. Da klappt noch denn ich lasse jeden teil der Liste auf die nächste seite und so kann man bequem durchblätter. Das Problem ist, bei jeden start geht das ja logischerweise am anfang los und stellt dann immer die gleichen witze dar. Das ist ja noch gewollt!!! Aber der nutzer soll im hauptmenü mit Buttons direkt zu den 2.Teil(die Sprüche) gehen können(Stand jetzt muss er sich erstmal durch die witze durchblättern).Ein anderer wichtiger Punkt ist,dass wenn man bei den ersten Spruch mit dem Button hingekommen ist, dass man wenn man eine seite zurückblättert zum letzten witz kommt.Man kann sich das alles wie ein Buch vorstellen(alles Feste seiten und Kapitel(Witze,Sprüche...)). Ich hab jetzt aber kein Plan wie das mit dem ArrayList geht,dass man genau auf die z,b Sprüche kommt.
das ist mein MainActivity(zumindestens ein Teil davon). Da wird der Liste immer ein Überschriftsstring und ein Textstring eingefügt. Mein Problem, wie mach ich verschiedene Listen also Witz,Spruch und Weisheiten Liste, aber man soll trotzdem zwischen den Listen hin und zurück blättern können. In mein klasse Hauptmenue.class sind die Buttons, die dann in das jeweilige Kapitel springen sollen.
Hier noch die ControllerFragment klasse
Ich hoffe ihr versteht mein Problem und ich bin in diesen Bereich (ArrayList) ein Absoluter neuling
Danke schonmal
Code:
public class MainActivity extends FragmentActivity {
ViewPager vp;
String kategorie;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp = (ViewPager)findViewById(R.id.vp_biodata);
ControllerFragment cf = new ControllerFragment(getSupportFragmentManager(), getFragments());
//ControllerFragment cf = new ControllerFragment();
//wenn man das kommende weglässt, wird der text einfach zur seite gewechselt und nicht so von hintenseitlich
vp.setPageTransformer(true, new ZoomOutPageTransformer());
vp.setAdapter(cf);
}
private List<Fragment> getFragments(){
List<Fragment> witze = new ArrayList();
//List<Fragment> list = new ArrayList();
witze.add(ModelFragment.newInstance(getResources().getString(R.string.u_neuer),getResources().getString(R.string.t_neuer), R.drawable.lachgesicht));
witze.add(ModelFragment.newInstance(getResources().getString(R.string.u_affe),getResources().getString(R.string.t_affe), R.drawable.lachgesicht));
witze.add(ModelFragment.newInstance(getResources().getString(R.string.u_idiot),getResources().getString(R.string.t_idiot), R.drawable.lachgesicht));
witze.add(ModelFragment.newInstance(getResources().getString(R.string.u_pilot),getResources().getString(R.string.t_pilot), R.drawable.lachgesicht));
witze.add(ModelFragment.newInstance(getResources().getString(R.string.u_ratte),getResources().getString(R.string.t_ratte), R.drawable.lachgesicht));
witze.add(ModelFragment.newInstance(getResources().getString(R.string.u_zoll),getResources().getString(R.string.t_zoll), R.drawable.lachgesicht));
/*
List<Fragment>spruch = new ArrayList();
spruch.add(ModelFragment.newInstance(getResources().getString(R.string.u_spruch1),getResources().getString(R.string.t_spruch1), R.drawable.lachgesicht));
List<Fragment>weisheit = new ArrayList();
weisheit.add(ModelFragment.newInstance(getResources().getString(R.string.u_weish1),getResources().getString(R.string.t_weish1), R.drawable.lachgesicht));
*/
return witze;
}
das ist mein MainActivity(zumindestens ein Teil davon). Da wird der Liste immer ein Überschriftsstring und ein Textstring eingefügt. Mein Problem, wie mach ich verschiedene Listen also Witz,Spruch und Weisheiten Liste, aber man soll trotzdem zwischen den Listen hin und zurück blättern können. In mein klasse Hauptmenue.class sind die Buttons, die dann in das jeweilige Kapitel springen sollen.
Hier noch die ControllerFragment klasse
Code:
public class ControllerFragment extends FragmentPagerAdapter{
List<Fragment> fragments;
Context context;
public ControllerFragment(FragmentManager fm, List<Fragment> fragments){
super(fm);
this.fragments = fragments;
}
public Fragment getItem(int position){
return fragments.get(position);
}
public int getCount(){
return fragments.size();
}
public Object instantiateItem(View view, int position){
ScrollView linearLayout = (ScrollView) view.inflate(context, R.layout.custom_fragment, null);
TextView textview = (TextView) linearLayout.findViewById(R.id.tv_text);
ImageView imageview = (ImageView) linearLayout.findViewById(R.id.iv_image);
((ViewPager)view).addView(linearLayout);
return linearLayout;
}
}
Ich hoffe ihr versteht mein Problem und ich bin in diesen Bereich (ArrayList) ein Absoluter neuling
Danke schonmal