2012-01-28 28 views
1

我不明白在Android的片段使用,並即時使用viewpagelibrary(https://github.com/JakeWharton/Android-ViewPagerIndicator) 我嘗試使用這個片段。我有fragmentacitivy這個驗證碼:與viewpagerindicator庫的片段:無法實例化類com.rbrlnx.controles.FragmentAdapter;沒有空的構造函數

public class FragmentosActivity extends FragmentActivity { 

    private PagerAdapter mPagerAdapter; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     super.setContentView(R.layout.fragmentos_layout); 

     // initialsie the pager 
     this.inicializaPaginas(); 
    } 

     //Este metodo inicia todos los fragments 
private void inicializaPaginas() { 



    FragmentAdapter adapter = 
       new FragmentAdapter(getSupportFragmentManager()); 
     adapter.addFragment(new Mapa()); 
     adapter.addFragment(new Cercanos()); 

    ViewPager pager = (ViewPager) super.findViewById(R.id.indicator); 
    pager.setAdapter(this.mPagerAdapter); 

} 

FragmentAdapter

public class FragmentAdapter extends FragmentPagerAdapter { 

     List<Fragment> fragments = null; 
public FragmentAdapter(FragmentManager fm) { 
    super(fm); 
    fragments = new ArrayList<Fragment>(); 
} 
public void addFragment(Fragment fragment){ 
    fragments.add(fragment); 
} 
@Override 
public Fragment getItem(int arg0) { 
    return fragments.get(arg0); 
} 
@Override 
public int getCount() { 
    return fragments.size(); 
} 


    } 

和viewpager適配器(用於庫中的適配器)

public class ViewPagerAdapter extends PagerAdapter implements TitleProvider 
{ 
    private static String[] titles = new String[] 
    { 
     "Listado", 
     "Mapa" 
    };  
    private final Context context; 

    public ViewPagerAdapter(Context context) 
    { 
     this.context = context; 
    } 

    @Override 
    public String getTitle(int position) 
    { 
     return titles[ position ]; 
    } 

    @Override 
    public int getCount() 
    { 
     return titles.length; 
    } 

    @Override 
    public Object instantiateItem(View pager, int position) 
    { 


     LinearLayout v = (LinearLayout) LayoutInflater.from(this.context).inflate(R.layout.cercanos, null); 

     if (position == 0) { 
      v = (LinearLayout) LayoutInflater.from(this.context).inflate(R.layout.cercanos, null); 
     } else { 
      v = (LinearLayout) LayoutInflater.from(this.context).inflate(R.layout.mapa, null); 
     } 

     ((ViewPager) pager).addView(v, 0); 

     return v; 

    } 

    @Override 
    public void destroyItem(View pager, int position, Object view) 
    { 
    } 

    @Override 
    public boolean isViewFromObject(View view, Object object) 
    { 
     return view.equals(object); 
    } 

    @Override 
    public void finishUpdate(View view) {} 

    @Override 
    public void restoreState(Parcelable p, ClassLoader c) {} 

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

    @Override 
    public void startUpdate(View view) {} 
} 

和fragment_layout是:

?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <com.viewpagerindicator.TitlePageIndicator 
     android:id="@+id/indicator" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     style="@style/Widget.IndicadorTitulo" /> 
     /> 
</LinearLayout> 

和mapa.class a nd cercanos.class是擴展片段而無需代碼的類。

該應用程序不表演可圈可點,它崩潰,並告訴我「無法實例類com.rbrlnx.controles.FragmentAdapter,沒有空的構造」

進出口尋找片段實例教程,但都非常dificults學習和traduce(我西班牙語)任何人都可以幫助我嗎?如果你有簡單的代碼來學習碎片將是它的完美。 謝謝

+0

沒有人嗎?我在google找不到任何東西 – colymore 2012-01-28 23:54:34

回答

1

你已經解決了你的問題?

您的留言:

無法實例類com.rbrlnx.controles.FragmentAdapter;沒有空的構造

看起來像你也許還沒有有:

  • 公共靜態HistoryFragment的newInstance(上下文的背景下,TextView的textViewSubText)...
  • 公共無效onActivityCreated(捆綁savedInstanceState)。 .. 或..
  • 公共查看onCreateView(LayoutInflater吹氣,ViewGroup中容器,包savedInstanceState)

方法。

你可以發佈你的stacktrace消息嗎? 歡呼聲, mike

相關問題