渲染视图到视图分页-优化的方式



在我的应用程序中,我使用以下方法来渲染/生成视图到视图页。是的,它运行良好,正如预期的那样。

注意:-但在这里我已经看到,这种方法必须在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;
    }
}

相关内容

  • 没有找到相关文章

最新更新