在我的应用程序中,我使用以下方法来渲染/生成视图到视图页。是的,它运行良好,正如预期的那样。
注意:-但在这里我已经看到,这种方法必须在Android资源方面投入大量的努力(与设备相关)。我想找出任何优化的方法来做同样的事情。有吗?
class MyActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layoutView);
LinearLayout pageFirst = getPageFisrt(context);
LinearLayout pageSecond = getPageSecond(context);
LinearLayout pageThird = getPageThird(context);
LinearLayout pageFourth = getPageFourth(context);
.........
.........
pageArrayList = new ArrayList<LinearLayout>();
pageArrayList.clear();
pageArrayList.add(pageFirst);
pageArrayList.add(pageSecond);
pageArrayList.add(pageThird);
pageArrayList.add(pageFourth);
...........
..........
viewPager.setAdapter(new MatchDetailsPagerAdapter(
context, pageArrayList));
indicator.setViewPager(viewPagerMatchDetailMain);
}
}
,对于每个页面,我从资源中膨胀布局,像
private LinearLayout getPageFisrt(Context context) {
// TODO Auto-generated method stub
LayoutInflater inflater = LayoutInflater.from(context);
LinearLayout linearLayoutFirstPage = (LinearLayout) inflater.inflate(
R.layout.pager_first_large_views, null);
// performing action on the page child layout.
return linearLayoutFirstPage;
}
期待有更好的方法来做同样的事情
我认为,使用FragmentPagerAdapter
更优化的片段,然后在onCreate
方法中生成所有布局。
public class FragmentAdapter extends FragmentPagerAdapter
implements IconPagerAdapter
{
private int count = 2;
public InstallFragmentAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return Fragment0.newInstance();
case 1:
return Fragment1.newInstance();
case 2:
return Fragment2.newInstance();
default:
break;
}
return null;
}
@Override
public int getCount() {
return count;
}
@Override
public CharSequence getPageTitle(int position) {
return "";
}
@Override
public int getIconResId(int position) {
return 0;
}
}