0
我写一个寻呼机片段如下:设置初始寻呼机项目
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import java.util.ArrayList;
import java.util.UUID;
public class CommentPagerActivity extends FragmentActivity{
private ViewPager mViewPager;
private ArrayList<Comment> mComments;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mViewPager = new ViewPager(this);
mViewPager.setId(R.id.viewPager);
setContentView(mViewPager);
mComments = CommentLab.get(this).getCommentsArray(); //get commentArray``
//setting up pagerAdapter
FragmentManager fm = getSupportFragmentManager();
mViewPager.setAdapter(new FragmentStatePagerAdapter(fm) {
@Override
public Fragment getItem(int position) {
Comment comment = mComments.get(position);
return CommentFragment.newInstance(comment.getId());
}
@Override
public int getCount() {
return mComments.size();
}
});
//ViewPager by default shows the first comment no matter where u click.
//to have it show the comment selected, do the following
UUID commentId = (UUID)getIntent().getSerializableExtra(CommentFragment.EXTRA_COMMENT_ID);
for(int i=0; i < mComments.size(); i++){
if (mComments.get(i).getId().equals(commentId)){
mViewPager.setCurrentItem(i);
break;
}
}
}
}
的寻呼机的作品,但是当我点击列表中的项目(可以说最后一个项目),它总是初始化viewPager与我的第一个项目
arrayList(mComments)...
什么可能是错的?
的应用主要有评论列表视图,当有人点击列表中的一个项目,它打开CommentsFragment有关评论
只是一个猜测,但你告诉viewpager设置一个项目之前,它已被创建。尝试在onCreateView或onResume中设置项目,看看会发生什么。 – spacitron