public class MainActivity extends Activity{
private ArrayAdapter<String> myAdapter;
ViewPager mPager ;
myPagerAdapter mPageAp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
databaseCopy();
mContext = this;
mPager = (ViewPager)findViewById(R.id.pager);
mPageAp = new myPagerAdapter(mContext, 1);
mPager.setAdapter(mPageAp);
mPager.setOnPageChangeListener(new OnPageChangeListener() {
public void onPageSelected(int position) {
// TODO Auto-generated method stub
mPageAp.setPage(position+1);
}
public void onPageScrolled(int position, float positionOffest,
int positionOffestPixel) {
}
public void onPageScrollStateChanged(int state) {
}
});
}
}
public class myPagerAdapter extends PagerAdapter{
private LayoutInflater mInflater;
String[] wordTitle ={" ", "영어", "한자", "일본어", "틀린단어장", " "};
int titleCnt = 1;
View convertView;
TextView txtTitleName;
public myPagerAdapter(Context context, int cnt) {
super();
mInflater = LayoutInflater.from(context);
titleCnt = cnt;
}
// PagerAdapter에서 관리할 View 개수를 반환합니다.
public int getCount() {
return 5;
}
@Override
public int getItemPosition(Object object) {
// TODO Auto-generated method stub
return super.getItemPosition(object);
}
@Override
// ViewPager에서 사용할 View를 생성하고 등록해줍니다.
public Object instantiateItem(View pager, int position){
convertView = mInflater.inflate(R.layout.title_list, null);
///titleCnt = position+1;
txtTitleName = (TextView)convertView.findViewById(R.id.txtTitlePre);
((ViewPager)pager).addView(convertView, null);
return convertView;
}
public void setPage(int position){
titleCnt = position;
txtTitleName.setText(wordTitle[titleCnt]);
}
// View를 삭제합니다.
public void destroyItem(View pager, int position, Object view) {
((ViewPager)pager).removeView((View)view);
}
// instantiateItem에서 생성한 객체를 이용할 것인지 여부를 반환합니다.
public boolean isViewFromObject(View v, Object obj) {
return v == obj;
}
}
위와같이 하면 좌우로 스크롤이 되면서 타이틀이 바뀌는데 그런데 예를 들어서 한페이지에서 다섯페이지를 차례대로 넘기면 타이틀이 바뀌는데 두페이지 넘기고 세페이지넘기고 그리고 두페이지로 이동해서 세페이지로 이동하면 타이틀이 변하지를 않아요
1Page -> 2Page ->3page -> 2page -> 3page
이렇게 타이틀이 안바뀝니다
mPageAp.notifyDataSetChanged();사용해도 안바뀝니다
도대체 왜그럴까요?