viewpage只在最后一个页面刷新数据

lsswear 2014-04-27 02:30:02
viewpager的setOnPageChangeListener的onPageSelected(int arg0)中异步刷新数据但只在viewPager的最后一个界面刷新
代码如下:
viewpager:
页面数量在数据库中读取
private void initPager(LayoutInflater inflater) {
button1 = (Button) contentView.findViewById(R.id.button1);
listView = new ArrayList<View>();
for (int i = 0; i < count; i++) {
View layout = inflater.inflate(R.layout.pages_main, null);
listView.add(layout);
initLayout(layout);
// refresh(i);
myFont.setFonts(layout);
}
pagerAdapter = new MyPagerAdapter(listView);
viewPager = (ViewPager) contentView.findViewById(R.id.viewpagerLayout);
viewPager.setAdapter(pagerAdapter);
viewPager.setCurrentItem(0);

}
setOnPageChangeListener:
public void onActivityCreated(Bundle savedInstanceState) {
viewPager.setOnPageChangeListener(new OnPageChangeListener() {

@Override
public void onPageSelected(int arg0) {
refresh(arg0);
// SharedPreferences.Editor edit = preferences.edit();
// edit.putInt("id", arg0);
// edit.commit();
}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub

}

@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub

}
});}
异步:
城市id在数据库中读取
class MenuTask extends AsyncTask<Integer, Integer, Integer> {
int arg0;

public MenuTask(int arg0) {
this.arg0 = arg0;
}

getWeatherDate data;
String jsonStr;

@Override
protected Integer doInBackground(Integer... i) {// 处理后台执行的任务,在后台线程执行
Map<String, String> id = cityandId.get(arg0);
addressId = id.get("id");
try {
data = new getWeatherDate(addressId);
weatherBean=data.getWeatherBean();
} catch (ClientProtocolException e) {
Toast.makeText(getActivity(), "网络异常", Toast.LENGTH_SHORT).show();
e.printStackTrace();
} catch (IOException e) {
Toast.makeText(getActivity(), "网络异常", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
return 0;
}

@Override
protected void onPostExecute(Integer result) {// 后台任务执行完之后被调用,在ui线程执行

textView2.setText(weatherBean.getTodayWindX());
textView4.setText(weatherBean.getTodayWindL());
textView6.setText(weatherBean.getTodayTemperature());
textView7.setText(weatherBean.getRefreshDate());
textView8.setText(weatherBean.getRefreshWeek());
textView9.setText(weatherBean.getTodayWeather());
button1.setText(weatherBean.getCityName());

}
}
求解,最好有代码
...全文
98 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
十三邵 2014-04-28
  • 打赏
  • 举报
回复
viewpager的setOnPageChangeListener的onPageSelected(int arg0)中异步刷新数据但只在viewPager的最后一个界面刷新、 我也不会,帮你顶一下

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧