实现viewpager后,无法滑动到详细活动中的下一个项目

时间:2014-08-13 14:44:07

标签: android listview android-viewpager fragmentstatepageradapter

我正在尝试使用viewpager在我的详细活动中滑动项目(来自listview)。 我的listview中有20个项目(从json解析的数据)而不是刷下一个/上一个项目,它只是我刷过的相同项目(20次)。

这是我的 DetailActivity。

public class DetailsActivity extends FragmentActivity {


Article feed;

int pos;
private DescAdapter adapter;
private ViewPager pager;
...
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.item_details);

    pos = getIntent().getExtras().getInt("pos");

    adapter = new DescAdapter(getSupportFragmentManager());
    pager = (ViewPager) findViewById(R.id.pager);       
    pager.setAdapter(adapter);  
    pager.setCurrentItem(pos);

}

public class DescAdapter extends FragmentStatePagerAdapter {
    public DescAdapter(FragmentManager fm) {
        super(fm);
    }
    @Override
    public int getCount() {
        return 20;
    }

    public Fragment getItem(int position) {
         return DetailFragment.newInstance(position);
     }
}

我的 detailFragment

public class DetailFragment extends Fragment {

static DetailFragment newInstance(int position) {
     DetailFragment f = new DetailFragment();        
     return f;
 }

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.detail_fragment, container, false);

    String displaytitle= getActivity().getIntent().getStringExtra("title");
    TextView titleF = (TextView)view.findViewById(R.id.title);

    titleF.setText(displaytitle);  
    ...      
    return view;
} 

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您没有使用正确的参数:
您发送参数“pos2”,但您检索参数“title”。

@Override
public Fragment getItem(int position) {
    DetailFragment frag = new DetailFragment();
    Bundle bundle = new Bundle();
    bundle.putInt("fPos",position);
    frag.setArguments(bundle);
    return frag;
}