我不明白在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(我西班牙語)任何人都可以幫助我嗎?如果你有簡單的代碼來學習碎片將是它的完美。 謝謝
沒有人嗎?我在google找不到任何東西 – colymore 2012-01-28 23:54:34