1

私はViewPager1ページとTab'sAsyncTask私はデータをロードして更新します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(Adapter).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);
    }

}  

LoadCinema.class

public void onPostExecute(List<CinemaCategory> result){
    super.onPostExecute(result);
    CinemaCategory cat = result.get(page);  
    cinema.mTabPager.update(cat.getDescription());
}

3ページで試してみましたが、最後のページにスワイプすると、データがあり、最初のページビューのページャーにスワイプして更新されました。

4

2 に答える 2

2

今私は答えを持っています、この投稿に感謝します

アダプターには、このコードを追加する必要があります

    public int getItemPosition(Object object) {
           return POSITION_NONE;
    }
于 2013-01-18T11:02:03.140 に答える