11.1
1.创建子类CrimePagerActivity
2.创建ViewPager(CrimePagerActivity.java)
extends AppCompatActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crime_pager);
11.1.1
//设置pager adapter(CrimePagerActivity.java)
private ViewPager mViewPager;
private List<Crime> mCrimes;
mViewPager = (ViewPager) findViewById(R.id.crime_view_pager);
mCrimes = CrimeLab.get(this).getCrimes();
FragmentManager fragmentManager = getSupportFragmentManager();
mViewPager.setAdapter(new FragmentStatePagerAdapter(fragmentManager) {
@Override
public Fragment getItem(int position) {
Crime crime = mCrimes.get(position);
return CrimeFragment.newInstance(crime.getId());
}
@Override
public int getCount() {
return mCrimes.size();
}
});
11.1.2
1.创建newIntent方法(CrimePagerActivity.java)
private static final String EXTRA_CRIME_ID =
"com.bignerdranch.android.criminalintent.crime_id";
public static Intent newIntent(Context packageContext, UUID crimeId) {
Intent intent = new Intent(packageContext, CrimePagerActivity.class);
intent.putExtra(EXTRA_CRIME_ID, crimeId);
return intent;
}
UUID crimeId = (UUID) getIntent()
.getSerializableExtra(EXTRA_CRIME_ID);
2.配置启动CrimePagerActivity(CrimeListFragment.java)
删掉用下面代码替换原来的
Intent intent = CrimePagerActivity.newIntent(getActivity(), mCrime.getId());
3.添加CrimePagerActivity到manifest配置文件(AndroidManifest.xml)
将原来的
android:name=".CrimeActivity"
替换为
android:name=".CrimePagerActivity">
4.设置初始分页显示项(CrimePagerActivity.java)
for (int i = 0; i < mCrimes.size(); i++) {
if (mCrimes.get(i).getId().equals(crimeId)) {
mViewPager.setCurrentItem(i);
break;
}
}