Hallo zusammen,
ich brauche mal wieder eine kleine Hilfestellung.
Ich möchte in meiner App einen viewPager verwenden. Die einzelnen Seiten (XML-Dateien) sollen per Java-Code befüllt werden.
Leider funktioniert dies nicht. Kann mir jemand eine Lösung zu meinen Code anbieten? Ich würde gerne den Code ab Zeile 47 in der Klasse MyPageAdapter einbauen.
Code
package de.manuel.buchenfueranfaenger;
import android.app.Fragment;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class FragmentBestandskonten extends Fragment {
public FragmentBestandskonten() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.copy_fragment_start_kapitel,
container, false);
MyPageAdapter adapter = new MyPageAdapter();
ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewPager);
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
return view;
}
}
Alles anzeigen
Code
package de.manuel.buchenfueranfaenger;
import android.content.Context;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
public
class MyPageAdapter extends PagerAdapter {
//---Die Anzahl aller Seiten zurückgeben---
public int getCount() {
return 3;
}
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.page1;
break;
case 1:
resId = R.layout.page2;
break;
case 2:
resId = R.layout.page3;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
/*Funktioniert nur mit einem Layout, nicht mit 2 oder mehr
switch (resID) {
case R.layout.page1:
Textview tv;
tv =(TextView) view.findViewById(...)
tv.setText...
etc.
...
}
*/
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
}
Alles anzeigen
Gruß
Manuel