2929import android .view .ViewGroup ;
3030import android .widget .Toast ;
3131
32- import com .google .android .material .appbar .AppBarLayout ;
33- import com .google .android .material .navigation .NavigationView ;
34-
3532import androidx .annotation .IdRes ;
3633import androidx .annotation .NonNull ;
3734import androidx .annotation .Nullable ;
3835import androidx .appcompat .app .AppCompatActivity ;
39- import androidx .appcompat .widget .Toolbar ;
4036import androidx .core .view .GravityCompat ;
41- import androidx .drawerlayout .widget .DrawerLayout ;
4237import androidx .fragment .app .Fragment ;
43- import butterknife . BindView ;
44- import butterknife . ButterKnife ;
38+
39+ import me . zhanghai . android . fastscroll . sample . databinding . MainFragmentBinding ;
4540
4641public class MainFragment extends Fragment {
4742
4843 private static final Uri GITHUB_URI = Uri .parse (
4944 "https://github.com/zhanghai/AndroidFastScroll" );
5045
51- @ BindView (R .id .drawer )
52- DrawerLayout mDrawerLayout ;
53- @ BindView (R .id .navigation )
54- NavigationView mNavigationView ;
55- @ BindView (R .id .toolbar )
56- Toolbar mToolbar ;
57- @ BindView (R .id .app_bar )
58- AppBarLayout mAppBarLayout ;
46+ private MainFragmentBinding mBinding ;
5947
6048 @ NonNull
6149 public static MainFragment newInstance () {
@@ -73,14 +61,8 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
7361 @ Override
7462 public View onCreateView (@ NonNull LayoutInflater inflater , @ Nullable ViewGroup container ,
7563 @ Nullable Bundle savedInstanceState ) {
76- return inflater .inflate (R .layout .main_fragment , container , false );
77- }
78-
79- @ Override
80- public void onViewCreated (@ NonNull View view , @ Nullable Bundle savedInstanceState ) {
81- super .onViewCreated (view , savedInstanceState );
82-
83- ButterKnife .bind (this , view );
64+ mBinding = MainFragmentBinding .inflate (inflater , container , false );
65+ return mBinding .getRoot ();
8466 }
8567
8668 @ Override
@@ -95,14 +77,14 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
9577 | View .SYSTEM_UI_FLAG_LAYOUT_STABLE );
9678 }
9779
98- activity .setSupportActionBar (mToolbar );
80+ activity .setSupportActionBar (mBinding . toolbar );
9981
10082 if (savedInstanceState == null ) {
10183 setNavigationCheckedItem (R .id .recycler_view_list );
10284 }
103- mNavigationView .setNavigationItemSelectedListener (this ::onNavigationItemSelected );
85+ mBinding . navigation .setNavigationItemSelectedListener (this ::onNavigationItemSelected );
10486
105- AppBarLayoutLiftOnScrollHack .hack (mAppBarLayout , R .id .scrolling_view );
87+ AppBarLayoutLiftOnScrollHack .hack (mBinding . appBarLayout , R .id .scrollingView );
10688 }
10789
10890 @ Override
@@ -114,7 +96,7 @@ public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflat
11496 public boolean onOptionsItemSelected (@ NonNull MenuItem item ) {
11597 switch (item .getItemId ()) {
11698 case android .R .id .home :
117- mDrawerLayout .openDrawer (GravityCompat .START );
99+ mBinding . drawerLayout .openDrawer (GravityCompat .START );
118100 return true ;
119101 case R .id .action_view_on_github :
120102 viewOnGitHub ();
@@ -125,8 +107,8 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
125107 }
126108
127109 public boolean onBackPressed () {
128- if (mDrawerLayout .isDrawerOpen (GravityCompat .START )) {
129- mDrawerLayout .closeDrawer (GravityCompat .START );
110+ if (mBinding . drawerLayout .isDrawerOpen (GravityCompat .START )) {
111+ mBinding . drawerLayout .closeDrawer (GravityCompat .START );
130112 return true ;
131113 }
132114 return false ;
@@ -152,15 +134,15 @@ private boolean onNavigationItemSelected(@NonNull MenuItem item) {
152134 case R .id .nested_scroll_view :
153135 case R .id .web_view :
154136 setNavigationCheckedItem (itemId );
155- mDrawerLayout .closeDrawer (GravityCompat .START );
137+ mBinding . drawerLayout .closeDrawer (GravityCompat .START );
156138 return true ;
157139 default :
158140 return false ;
159141 }
160142 }
161143
162144 private void setNavigationCheckedItem (@ IdRes int itemId ) {
163- MenuItem item = mNavigationView .getCheckedItem ();
145+ MenuItem item = mBinding . navigation .getCheckedItem ();
164146 if (item != null && item .getItemId () == itemId ) {
165147 return ;
166148 }
@@ -191,8 +173,8 @@ private void setNavigationCheckedItem(@IdRes int itemId) {
191173 throw new AssertionError (itemId );
192174 }
193175 getChildFragmentManager ().beginTransaction ()
194- .replace (R .id .content , fragment )
176+ .replace (R .id .contentLayout , fragment )
195177 .commit ();
196- mNavigationView .setCheckedItem (itemId );
178+ mBinding . navigation .setCheckedItem (itemId );
197179 }
198180}
0 commit comments