我有每個頁面viewpager包含許多如何解決viewpager這個奇怪的問題?
實施例:
頁面1包含具有文本 「1」
頁2的TextView包含具有文本 「2」
的TextView ..
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
TextView myText= adapter.getTextView();
CharSequence charSequence = dateArea.getText();
String dateString = charSequence.toString();
Log.e("TEST1", dateString);
}
}
:....由加了20個
然後我得到的文本
當我滑動1路(右或左)時,它會正確顯示文本。但是,當我滑動2路,問題出現:
實施例:
我向左滑動(從10開始),其結果是如圖9(正確的)。
然後我向右滑動,結果仍然是9(應該是10)。
然後我再次向左滑動,結果是9.此時,如果再向左滑動一次,它將顯示正確的結果,即8。請告訴我如何解決這個問題!
編輯:
public class ViewPagerAdapter extends PagerAdapter {
Context context;
LayoutInflater inflater;
String[] listNumber;
TextView textView;
public ViewPagerAdapter(Context context, String[] listNumber) {
this.context = context;
this.listNumber= listNumber;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((RelativeLayout) object);
}
@Override
public Object instantiateItem(final ViewGroup container, final int position) {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.viewpager_adapter, container, false);
textView= (TextView) itemView.findViewById(R.id.textView);
textView.setText(listNumber[position]);
((ViewPager) container).addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// Remove viewpager_item.xml from ViewPager
((ViewPager) container).removeView((RelativeLayout) object);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return listNumber.length;
}
public TextView getTextView() {
return textView;
}
}
你可以發佈適配器getTextView()嗎? – W3hri
@ W3hri我編輯它,請看看:) –