4
내가 파편 함께 일하고

pageview 수평 호출기를 사용하려고 시도하는 유형의 PagerAdapter를 인스턴스화 할 수 없습니다와 나는 다음과 같은 오류 있어요 :

Cannot instantiate the type PagerAdapter. 

내가 PagerAdapter는 추상 클래스임을 알을, 그래서 난 새로운 클래스를 생성 이는 PagerAdapter에서 상속되며 대신 사용됩니다. 그러나 문제를 해결하지 못했습니다. 내 코드의

:

주요 활동 수입

import java.util.List; 
import java.util.Vector; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.view.ViewPager; 
import android.support.v7.app.ActionBarActivity; 
import android.view.Menu; 
import android.view.MenuItem; 
//import com.example.prova.PagerAdapter; 
//import android.support.v4.view.PagerAdapter; 
내가 여기 내 PagerAdapter를 pageradapter에게

public class MainActivity extends ActionBarActivity { 

    List<Fragment> fragments = new Vector<Fragment>(); 
    private ViewPager mPager; 
    PagerAdapter mPagerAdapter; 
    //mPager.setCurrentItem(2); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

    // creating fragments and adding to list 
     fragments.add(Fragment.instantiate(this,Timeline.class.getName())); 
     fragments.add(Fragment.instantiate(this,Postit.class.getName())); 
     fragments.add(Fragment.instantiate(this,Frase.class.getName())); 
     fragments.add(Fragment.instantiate(this,Impostazioni.class.getName())); 

    // creating adapter and linking to view pager 
     this.mPagerAdapter=new PagerAdapter(super.getSupportFragmentManager(),fragments); //I GOT HERE THE ERROR 
     mPager = (ViewPager) super.findViewById(R.id.pager); 
     mPager.setAdapter(this.mPagerAdapter); 
    } 

을 만들려고 할 때 나는 오류가

주요 활동

public abstract class PagerAdapter extends FragmentPagerAdapter { 

    // fragments to instantiate in the viewpager 
    private List<Fragment> fragments; 

    // constructor 
    public PagerAdapter(FragmentManager fm,List<Fragment> fragments) { 
     super(fm); 
     this.fragments = fragments; 
    } 

    // return access to fragment from position, required override 
    @Override 
    public Fragment getItem(int position) { 
     return this.fragments.get(position); 
    } 

    // number of fragments in list, required override 
    @Override 
    public int getCount() { 
     return this.fragments.size(); 
    } 

} 
+4

수업은 '추상적'으로 진행됩니다. –

+2

OMG 얼마나 바보 야?! 정말 고맙습니다 –

답변

1

추상 클래스의 인스턴스를 만들 수 없습니다.