显示了每一项的明细后,再实现左右滑动查看其他明细部分。
这里我们要使用ViewPager
首先创建CrimePagerActivity类,并绑定布局文件
activity_crime_pager.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/activity_crime_pager"/>
</LinearLayout>
CrimePagerActivity:
public class CrimePagerActivity extends AppCompatActivity {
private ViewPager mViewPager;
private List<Crime>mCrimes;
private static final String EXTRA_ID="com.apple.CrimePagerActivity.crime_id";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crime_pager);
//获取id
UUID crimeid=(UUID)getIntent().getSerializableExtra(EXTRA_ID);
//初始化ViewPager
mViewPager=(ViewPager)findViewById(R.id.activity_crime_pager);
mCrimes= CrimeLab.getCrimeLab(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();
}
});
//每次点击后显示的都是第一页,设置显示为点击那一项所在的页面
for(int i=0;i<mCrimes.size();i++){
if(mCrimes.get(i).getId().equals(crimeid)){
mViewPager.setCurrentItem(i);
}
}
}
//传入id
public static Intent newIntent(Context context, UUID crimeid){
Intent intent=new Intent(context,CrimePagerActivity.class);
intent.putExtra(EXTRA_ID,crimeid);
return intent;
}
}
接下来还要修改每一项点击后启动的activity,将其改为CrimePagerActivity