调用activity方法从适配器实现视图分页器片段

时间:2015-11-12 04:40:26

标签: java android adapter getview

我必须从我的适配器中的活动中调用此initViewPagerandTabs()方法。此方法实现滑动选项卡布局。它在被另一个活动或片段调用时工作正常,但不能从基础适配器调用。

有没有一种简单的方法可以从适配器类调用我的方法。请帮忙。

适配器类

public View getView(int position, View convertView, ViewGroup parent) {

View myview=convertView;

    if (myview == null) {
            Log.d("network frag list"," convertView null ");
            LayoutInflater inflater = (LayoutInflater)
                    context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
            myview = inflater.inflate(R.layout.activity_post, null);
        myview.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent(context, Post.class);
                context.startActivity(intent);
                   }
        });

Post.Class

 protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_post);

         initViewPagerAndTabs();

    }

    public void initViewPagerAndTabs() {
        final ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);

        PostActivityPagerAdapter adapter = new PostActivityPagerAdapter(getSupportFragmentManager(), Titles, Numboftabs);

        viewPager.setAdapter(adapter);
        SlidingTabLayout tabLayout = (SlidingTabLayout) findViewById(R.id.tabLayout);

        tabLayout.setDistributeEvenly(false);
        tabLayout.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
            @Override
            public int getIndicatorColor(int position) {
                return getResources().getColor(R.color.ark_green);
            }
        });


        tabLayout.setViewPager(viewPager);
    }}

1 个答案:

答案 0 :(得分:0)

您可以在创建适配器时解析对活动的引用(通过修改适配器构造函数)。然后使用该引用来调用方法。

相关问题