forked from OrlovAlexander85/Criminal_Intent_2020
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCrimePagerActivity.java
69 lines (56 loc) · 2.3 KB
/
CrimePagerActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package ru.orlovph.criminalintent2020;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import java.util.List;
import java.util.UUID;
public class CrimePagerActivity extends AppCompatActivity {
private static final String EXTRA_CRIME_ID =
"ru.orlovph.criminalintent2020.crime_id";
private ViewPager2 mViewPager;
private List<Crime> mCrimes;
public static Intent newIntent(Context packageContext, UUID crimeID){
Intent intent = new Intent(packageContext, CrimePagerActivity.class);
intent.putExtra(EXTRA_CRIME_ID, crimeID);
return intent;
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_crime_pager);
UUID crimeID = (UUID) getIntent().getSerializableExtra(EXTRA_CRIME_ID);
mViewPager = findViewById(R.id.crime_view_pager);
// get data set from CrimeLab – the List of crimes
mCrimes = CrimeLab.get(this).getCrimes();
// get the activity’s instance of FragmentManager
FragmentManager fragmentManager = getSupportFragmentManager();
// set the adapter to be an unnamed instance of FragmentStateAdapter
mViewPager.setAdapter(new FragmentStateAdapter(fragmentManager,getLifecycle()) {
@NonNull
@Override
public Fragment createFragment(int position) {
Crime crime = mCrimes.get(position);
return CrimeFragment.newInstance(crime.getId());
}
@Override
public int getItemCount() {
return mCrimes.size();
}
});
for (int i = 0; i < mCrimes.size(); i++) {
if (mCrimes.get(i).getId().equals(crimeID)){
mViewPager.setCurrentItem(i);
break;
}
}
}
}