【发布时间】:2015-03-04 18:04:29
【问题描述】:
我正在做一个项目,我在 viewpager 中有 3 个活动/片段
现在我想填充这个硬编码的列表视图或 JSON 文件,问题是 findviewbyid 返回 null,所以我无法添加任何新项目。
我使用这个pageradapter来创建viewpager
public class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 3;
}
public Object instantiateItem(ViewGroup collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.activity_friend;
break;
case 1:
resId = R.layout.activity_mainactiv;
break;
case 2:
resId = R.layout.activity_map;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(ViewGroup arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
//public boolean isViewFromObject(ViewGroup arg0, Object arg1) {
// return arg0 == ((View) arg1);
//}
@Override
public Parcelable saveState() {
return null;
}
}
里面的页面可以去片段或活动还没有决定什么最适合我的应用程序
那么这里主要是viewpager所在的地方
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/viewpager_layout"/>
</LinearLayout>
我已经阅读了一些教程,并且我知道您必须在 mainactivity oncreate 中或在您膨胀页面的 pageradapter 中填充列表视图
prepareListData();
listDataHeader.toArray(Listdata);
ListView listview1 = (ListView)findViewById(R.id.listView);
ArrayAdapter<String> Sadapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,Listdata);
listview1.setAdapter(Sadapter);
这是我试图用来填充列表视图的代码
我希望我能在这里获得更多信息,以便我知道在哪里
【问题讨论】:
标签: android listview android-viewpager