ViewPagerIncidator

Gente estou com um probleminha na implementação de um ViewPagerIndicadot, zylinc.
O método init(para iniciar o indicator) requer três parâmetros, dois inteiros e o ultimo é
um PageInfoProvider, só que não da pra fazer isso por que o meu adapter(classe PageView
que estende PagerAdapter e implementa PageInfoProvider) não se encaixa no lugar, quando
eu coloco ele lá, da a alernativa de fazer um cast para (PageInfoProvider) o que não está certo!
O que eu devon fazer?

Minha classe Mensagem:

[code]public class Mensagem extends FragmentActivity{

PagerAdapter adapter;
ViewPager myPager;
ViewPagerIndicator indicator;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mensagem);
    
    indicator = (ViewPagerIndicator) findViewById(R.id.indicator);
    adapter = new PageAdapter(getSupportFragmentManager());
    
    myPager = (ViewPager) findViewById(R.id.viewPager);
    myPager.setAdapter(adapter);
    myPager.setCurrentItem(1);
    myPager.setOnPageChangeListener(indicator);
    
    indicator.init(1, adapter.getCount(), (PageInfoProvider) adapter);    // Isso não era pra ser assim! Todo erro que da está nessa linha!
    
    Resources res = getResources();
    Drawable prev = res.getDrawable(R.drawable.indicator_prev_arrow);
    Drawable next = res.getDrawable(R.drawable.indicator_next_arrow);
                                                     
    indicator.setArrows(prev, next);
    
    Button voltar = (Button) findViewById(R.id.button1);
    voltar.setOnClickListener(new OnClickListener() {
		@Override
		public void onClick(View v) {
			Intent ITelaInicial = new Intent(Mensagem.this, MainActivity.class);
			startActivity(ITelaInicial);
		}
	});
}

}[/code]

Minha classe PageAdapter:

[code]public class PageAdapter extends FragmentPagerAdapter implements PageInfoProvider{

public PageAdapter(FragmentManager fm) {
	super(fm);
}

@Override
public int getCount() {
    return 2;
}

@Override
public Object instantiateItem(final View collection, int position) {
	View v = new View(collection.getContext());
    LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    switch (position) {
    case 0:
        v = inflater.inflate(R.layout.tela01, null, false);
        break;
    case 1:
        v = inflater.inflate(R.layout.tela02, null, false);
        break;
    case 2:
        v = inflater.inflate(R.layout.tela03, null, false);
        break;
    }
    
    ((ViewPager) collection).addView(v, 0);
    return v;
}

@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
    ((ViewPager) arg0).removeView((View) arg2);

}

@Override
public boolean isViewFromObject(View arg0, Object arg1) {
    return arg0 == ((View) arg1);

}

@Override
public Parcelable saveState() {
    return null;
}

@Override
public Fragment getItem(int arg0) {
	return null;
}

@Override
public String getTitle(int pos) {
	// TODO Auto-generated method stub
	return null;
}

}[/code]

Link pelo qual eu tive toda a base.

Por favor, ao postar tópicos, evite destacar no título informações óbvias. Se você não precisasse de [Ajuda], nem tivesse [Dúvida], não teria aberto o tópico, certo?

Ok, desculpe!