2012-03-16 14 views
5

2Hi ludzie Próbuję zbudować aplikację za pomocą poziomego pager'a i pakietu wsparcia dla Androida. Zrobiłem dokładnie ten kod skompilować w innym projekcie, ale ostatnia linia drugiego przykładu kodu nie pozwala mi się kompilować. Eclipse mówi Cannot instantiate the type PagerAdapterNatychmiastowy PagerAdapter Android

Moi import

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.view.PagerAdapter; 
import android.support.v4.view.ViewPager; 

Mój kod

List<Fragment> fragments = new Vector<Fragment>(); 
    fragments.add(Fragment.instantiate(this, Tab1.class.getName())); 
    fragments.add(Fragment.instantiate(this, Tab2.class.getName())); 
    fragments.add(Fragment.instantiate(this, Tab3.class.getName())); 
    this.mPagerAdapter = new PagerAdapter(super.getSupportFragmentManager(), fragments); 

Czy uważasz, że coś jest nie tak z moimi przywozu lub projektu utworzonych - daj mi znać, jeśli potrzebujesz więcej informacji. Ten kod działał w innych projektach.

Dzięki

+0

PagerAdapter jest klasą abstrakcyjną i dlatego nie można jej utworzyć. Zobacz http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html. – Thomas

Odpowiedz

9

PagerAdapter jest klasa abstract - nie można jej instancję. Musisz utworzyć nową klasę, która dziedziczy po PagerAdapter i użyć jej zamiast tego.

+0

Wielkie dzięki, co za głupi błąd! – JackMahoney

+0

Mam utworzyć PagerAdapter nowej klasy, mimo że pokazuje ten sam błąd. @Herrmann –

2

Po prostu utwórz nową klasę, która dziedziczy po PagerAdapter i użyj jej zamiast niej.

NB: Nie zapomnij usunąć początkowego importu "import android.support.v4.view.PagerAdapter;" i zaimportuj nowo utworzoną klasę.

Powiązane problemy