Estoy usando un adaptador de fragmento de buscapersonas para crear una instancia de mi clase de fragmento. Puedo hacerlo pero mi problema es que mi método getItem() recibe dos llamadas. está creando un problema adicional. ¿Puede explicarme por qué está sucediendo?El método getItem() recibe dos llamadas cuando se utiliza el Adaptador de buscapersonas
package com.creatiosoft.rssfeed.adaptor;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.util.Log;
import com.creatiosoft.rssfeed.utils.RssItem;
import com.viewpagerindicator.IconPagerAdapter;
public class NewsFeedsAdapter extends FragmentPagerAdapter implements
IconPagerAdapter {
int[] icon = null;
String[] content = null;
String[] URLs = null;
Context cont;
public NewsFeedsAdapter(FragmentManager fm, Context context) {
super(fm);
Log.i("jk", "constructor");
this.cont = context;
RssItem newsFeedAppliaction = (RssItem) cont;
/*
* Retrieving the values of the Icons and contents from the application
* class in utils package
*/
icon = newsFeedAppliaction.getICONS();
content = newsFeedAppliaction.getCONTENT();
URLs = newsFeedAppliaction.getURL();
}
/** instantiate a new fragment class */
@Override
public Fragment getItem(int position) {
Log.i("yt", "hello" + position);
return TestFragment.newInstance(position % content.length, cont);
}
@Override
public CharSequence getPageTitle(int position) {
return content[position % content.length].toUpperCase();
}
public int getIconResId(int index) {
return icon[index];
}
/** return the no of views on the basis of array items */
@Override
public int getCount() {
Log.i("hi", "length" + content.length);
return content.length;
}
}
Estoy llamando adaptador con este código:
NewsFeedsAdapter adapter = new NewsFeedsAdapter(
getSupportFragmentManager(), getApplicationContext());
/**
* get the id of the view pager declared in the xml resource and set the
* adaptor on the view pager
*/
ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(adapter);
//pager.setCurrentItem(0);
/**
* Tab page indicator class is used to indicate the tabs and is accessed
* from the library class
*/
TabPageIndicator indicator = (TabPageIndicator) findViewById(R.id.indicator);
indicator.setViewPager(pager);
amablemente denme el código de muestra si es posible. – yokees
@ Rishabh.CreatioSoft Aquí tienes. :) – AedonEtLIRA
pero dime una posición de cosa me devuelve 0 y 1 tanto en getItem cuando PagerAdapterCall.So estamos obteniendo objeto de fragmento en 1 posición.Así que cómo puede decirnos su código correcto. – yokees