Custom ViewPager

后端 未结 3 666
伪装坚强ぢ
伪装坚强ぢ 2021-01-06 23:20

How can i create a customized ViewPager ? To instantiate a page in the ViewPager it\'s something like this :

            public Object instantiateItem(View c         


        
相关标签:
3条回答
  • 2021-01-06 23:44

    This is a mere example, but it's working quiete well.

    public Object instantiateItem(View collection, int position) {
            LayoutInflater inflater = (LayoutInflater)cxt.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View layout = inflater.inflate(R.layout.search_result, null);
            //
            TextView title = (TextView)layout.findViewById(R.id.search_result_title);
            TextView body = (TextView)layout.findViewById(R.id.search_result_body);
            TextView byline = (TextView)layout.findViewById(R.id.search_result_byline);
            TextView day = (TextView)layout.findViewById(R.id.search_result_date_day);
            TextView month = (TextView)layout.findViewById(R.id.search_result_date_month);
            TextView year = (TextView)layout.findViewById(R.id.search_result_date_year);
            //
            title.setText(list_title.get(position).toString());
            body.setText(list_body.get(position).toString());
            day.setText(list_day.get(position).toString());
            month.setText(list_month.get(position).toString());
            year.setText(list_year.get(position).toString());
            byline.setText(list_byline.get(position).toString());
            //
            ((ViewPager) collection).addView(layout,0);
            return layout;
        }
    
    0 讨论(0)
  • 2021-01-06 23:44

    Tsunaze is right. Also, there is another way of doing that. If you are using Fragments to set the UI View, you can use, getItem(int position), from FragmentPagerAdapter and then use onCreateView method from Fragment class.

        @Override
    public Fragment getItem(int position) {
        // TODO Auto-generated method stub
    
        Log.d(TAG, "getItem");
    
        return ImageListFragment.newInstance(position, mList);
    }
    
    0 讨论(0)
  • 2021-01-06 23:52

    Subclass the PagerAdapter class and override the corresponding methods.

    Actually, if you look at the source code, you can only pass a PagerAdapter object to setAdapter() so the answer is no.

    0 讨论(0)
提交回复
热议问题