2012-01-28 8 views
1

アンドロイドのフラグメントの使用を理解していません。私はviewpagelibrary(https://github.com/JakeWharton/Android-ViewPagerIndicator)を使用します。 これでフラグメントを使用しようとしています。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> 
私はこのfragmentacitivyこのコードを持っています

とmapa.class a nd cercanos.classは、コードなしでフラグメントを拡張するクラスです。

アプリは注目に示していけない、それがクラッシュし、私が示す「クラスcom.rbrlnx.controles.FragmentAdapterをインスタンス化することはできません。空のコンストラクタ」

イムは、フラグメントの例のチュートリアルを探していませんが、すべては非常に学ぶことdificultsされています誰でも私を喜ばせることができます(私はスペイン語)traduceあなたがフラグメントを学ぶための簡単なコードを持っているならば、その完璧なものになります。 ありがとう

+0

誰もいませんか?私はgoogleで何も見つかりません – colymore

答えて

1

あなたはすでにあなたの問題を解決しましたか?

あなたのメッセージ:

クラスcom.rbrlnx.controles.FragmentAdapterをインスタンス化することはできません。

  • のpublic static HistoryFragmentのnewInstance(コンテキストコンテキスト、TextViewにtextViewSubText)... onActivityCreated
  • ます。public void(バンドルsavedInstanceState):あなたは多分持っていないよう空のコンストラクタ

は見えません。 .. か...

  • パブリックビューonCreateView(LayoutInflaterのインフレータ、のViewGroupコンテナ、バンドルsavedInstanceState)
  • メソッド。

    あなたのスタックトレースメッセージを投稿できますか? 乾杯、 mike

    関連する問題