Android ViewPager未更新
我有一个Android ViewPager未更新,android,android-viewpager,Android,Android Viewpager,我有一个ViewPager页面和选项卡。在AsyncTask中,我加载数据并更新ViewPager,但没有任何更改。在我检查过的LogCat中,我需要数据 MainClass.java mViewPager = (ViewPager) findViewById(R.id.cinema_view_pager); mTabPager = new TabPager("Загрузка"); mViewPager.setAdapter(mTabPager); LoadC
ViewPager
页面和选项卡
。在AsyncTask
中,我加载数据并更新ViewPager
,但没有任何更改。在我检查过的LogCat中,我需要数据
MainClass.java
mViewPager = (ViewPager) findViewById(R.id.cinema_view_pager);
mTabPager = new TabPager("Загрузка");
mViewPager.setAdapter(mTabPager);
LoadCinema cinema = new LoadCinema(this,0);
cinema.execute();
TabPager(适配器)。类
public class TabPager extends PagerAdapter{
private String message = "";
public TabPager(String msg){
message = msg;
}
@Override
public int getCount() {
return 1;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
public void update(String msg){
message = msg;
notifyDataSetChanged();
}
@Override
public View instantiateItem(View container, int position){
View v = getLayoutInflater().inflate(R.layout.cinema_layout, null);
TextView text = (TextView) v.findViewById(R.id.textView1);
text.setText(message+"Message" +"");
((ViewPager) container).addView(v);
return v;
}
public void destroyItem(View container, int position, Object object) {
((ViewPager) container).removeView((View) object);
}
}
public void onPostExecute(List<CinemaCategory> result){
super.onPostExecute(result);
CinemaCategory cat = result.get(page);
cinema.mTabPager.update(cat.getDescription());
}
LoadCinema.class
public class TabPager extends PagerAdapter{
private String message = "";
public TabPager(String msg){
message = msg;
}
@Override
public int getCount() {
return 1;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
public void update(String msg){
message = msg;
notifyDataSetChanged();
}
@Override
public View instantiateItem(View container, int position){
View v = getLayoutInflater().inflate(R.layout.cinema_layout, null);
TextView text = (TextView) v.findViewById(R.id.textView1);
text.setText(message+"Message" +"");
((ViewPager) container).addView(v);
return v;
}
public void destroyItem(View container, int position, Object object) {
((ViewPager) container).removeView((View) object);
}
}
public void onPostExecute(List<CinemaCategory> result){
super.onPostExecute(result);
CinemaCategory cat = result.get(page);
cinema.mTabPager.update(cat.getDescription());
}
public void onPostExecute(列表结果){
super.onPostExecute(结果);
CinemaCategory cat=result.get(第页);
cinema.mtabpage.update(cat.getDescription());
}
我尝试了三页,当我切换到最后一页时,我有了数据,然后切换到第一页查看页面更新。现在我有了答案,谢谢 要添加适配器,需要添加此代码
public int getItemPosition(Object object) {
return POSITION_NONE;
}
考虑使用
FragmentStatePagerAdapter
而不是PagerAdapter
public class TabPager extends FragmentStatePagerAdapter {
...
}
发布“mTabPager”的源刷新viewpagers数据时,前两个viewpagers未刷新,其他viewpagers数据正在更改。请帮帮我。