public class HSPTabletTestActivity extends Activity {
private class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 2;
}
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.lighttab;
break;
case 1:
resId = R.layout.securitytab;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub
}
}
Ich habe den obigen Code ^^ ... Ziemlich direkt von http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/ übernommen ... Ich bin immer noch ziemlich neu in der Welt der Android-Entwicklung :/
Jetzt versuche ich, auf ein Dropdown-Menü-Steuerung und einige Schaltflächen innerhalb der "Seiten" zuzugreifen. Aber findViewById gibt immer null zurück!
Ich erinnere mich daran, dass das Layout im Code nicht wirklich existiert und zunächst aufgeblasen werden muss, was im instantiateItem() -Funktion passiert. Und es ist ziemlich offensichtlich, dass es in der "view" -Variablen ist. Aber wenn ich aufrufe view.findViewById(R.id.light1_off);
was übrigens eine Schaltfläche ist, gibt es immer NULL zurück! Ich habe sogar sichergestellt, dass es nur aufgerufen wurde, wenn tatsächlich diese Seite geladen wurde. Aber egal was ich getan habe, es gibt immer null zurück und ich erhalte eine böse Nullpointer-Ausnahme.
Kann mir jemand bitte helfen? Mir gehen langsam die Ideen aus, und Google ist keine Hilfe, ich bin bereits auf Seite 5 zu etwa 10 verschiedenen Suchbegriffen gegangen.