Hej
Är ny på android/java utvecklig och försöker sätta ihop en app som har tre sidor man kan swipa mellan och där ena sidan inehåller en lista som fylls på dynamiskt.
Jag kan fylla på listan dynamiskt när den ligger som ensam layout direkt i main.
Jag kan skapa en viewpager med tre vyer att swipa emellan, men när jag lägger listview'n i ena viewpager sidan "separat xml" så lyckas jag inte få tag i den/uppdatera den utan får bara nullreference error,
MAIN:
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mypanelpager"/>
Code:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
context = this;
final ViewPager myPager = (ViewPager) findViewById(R.id.mypanelpager);
myPager.setAdapter(new MyPagerAdapter());
myPager.setCurrentItem(1);
ListView listView1 = (ListView)myPager.findViewById(R.id.listView1);
View header = (View)getLayoutInflater().inflate(R.layout.listview_header_row, null);
listView1.addHeaderView(header); <--- NullReferenceError (Så vitt jag tyder loggen rätt)
}
MyPageAdapter:
Code:
public class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 3;
}
@Override
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.left;
break;
case 1:
resId = R.layout.middle;
break;
case 2:
resId = R.layout.right;
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 boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
}
Har letat som en galning utan resultat så jag tänkte att det kanske finns någon vänlig själ här som vet hur detta fungerar =p
Tack på förhand!
Niklas