Tengo un visor que usa el siguiente adaptador y, una vez cargado, la primera vista aparece vacía pero no lo está. Si me desplazo a la vista siguiente y luego retrocedo, puedo ver el contenido.¿Por qué la primera vista en ViewPager aparece vacía?
import android.content.Context;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.TextView;
import java.util.ArrayList;
public class MyPagerAdapter extends PagerAdapter {
Context context;
public ArrayList<TextView> mViews;
int layoutResourceId;
public MyPagerAdapter(Context context) {
mViews = new ArrayList<TextView>();
}
@Override
public void destroyItem(View view, int arg1, Object object) {
((ViewPager)view).removeView((View)object);
}
@Override
public void finishUpdate(View arg0) {
}
@Override
public int getCount() {
return mViews.size();
}
@Override
public Object instantiateItem(View view, int position) {
View myView = mViews.get(position);
((ViewPager)view).addView(myView);
return myView;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
}
Y aquí es el código que implementa la actividad de mi ...
public void resetPages() {
if (mPageText == null)
return;
mPagerAdapter.mViews.clear();
for (int i = 0; i < mPageText.size(); i++) {
TextView tv = new TextView(this);
tv.setTextSize(mSelectedFontSize);
tv.setText(mPageText.get(i));
tv.setId(i);
tv.setTag(i);
tv.invalidate();
mPagerAdapter.mViews.add(tv);
}
mPagerAdapter.notifyDataSetChanged();
mViewPager.refreshDrawableState();
}
¿qué es 'mResizeTextView'? –
mResizeTextView es una vista de texto personalizada que se usa para calcular la cantidad de texto que cabe en el espacio. Tengo una cadena larga que necesito mostrar en varias páginas. Actualmente solo está visible para depurar los objetivos. – Josh
He eliminado la línea mResizeTextView del código anterior. No es necesario cambiar su visibilidad para desaparecer ... Sigue teniendo el mismo problema. – Josh