2014-06-18 82 views
1

我有以下viewpager适配器。View Pager Android - 更改项目

public class MyFragmentPagerAdapter extends FragmentPagerAdapter { 

     /** Constructor of the class */ 
     public MyFragmentPagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     /** This method will be invoked when a page is requested to create */ 
     @Override 
     public Fragment getItem(int arg0) { 
      switch (arg0) { 
      case 0: 
       return new CreateLeague(); 
      case 1: 
       return new JoinLeague(); 
      case 2: 
       return new LeagueList(); 
      default: 
       return null; 
      } 
     } 

     /** Returns the number of pages */ 
     @Override 
     public int getCount() { 
      return 3; 
     } 
    } 

我在第一片段(这里CreateLeague())一个按钮,并在胶带该按钮,我想视图寻呼机项目改变为第三个。 viewPager.setCurrentItem(2);但这是另一个片段,我无法访问那里的viewpager对象。有没有什么正确的方法来做到这一点?

+0

片段交易将完成工作 –

+0

@非法争论:你的意思是替换片段?那对我来说这是不可能的。我有一个pager_indicator。所以我必须与视图转换一起进行。 –

+0

看到这可能有所帮助http://stackoverflow.com/questions/7723964/replace-fragment-inside-a-viewpager –

回答

1

您可以使用BroadcastReceiver。

如果您不熟悉BroadcastReceiver,您可以查看this tutorial

+1

没有其他方式比广播接收器对吗? –

+0

是的,我认为BroadcastReceiver应该是解决这个问题最简单的方法。 – daimajia

+0

使用广播接收器,它解决了我的问题。谢谢@daimajja: –

1

您可以在Fragment类中定义一个接口并在Activity中实现它。片段在单击按钮时提醒活动,然后活动更改当前项目。这是解释here

+0

谢谢。让我试试这个。 –

相关问题