Skip to content

Commit 15c5f3a

Browse files
committed
View binding
1 parent b244cfa commit 15c5f3a

3 files changed

Lines changed: 15 additions & 18 deletions

File tree

sample/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ android {
1919
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2020
}
2121

22+
buildFeatures {
23+
viewBinding = true
24+
}
25+
2226
buildTypes {
2327
release {
2428
}

sample/src/main/java/info/hannes/logcat/sample/MainActivity.kt

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,50 +6,41 @@ import android.os.Bundle
66
import android.view.Menu
77
import android.view.MenuItem
88
import androidx.appcompat.app.AppCompatActivity
9-
import androidx.appcompat.widget.Toolbar
109
import androidx.core.view.GravityCompat
11-
import androidx.drawerlayout.widget.DrawerLayout
1210
import com.google.android.material.navigation.NavigationView
11+
import info.hannes.logcat.sample.databinding.ActivityMainBinding
1312
import info.hannes.logcat.ui.BothLogActivity
1413
import info.hannes.logcat.ui.LogcatActivity
1514
import info.hannes.logcat.ui.LogfileActivity
1615

1716
class MainActivity : AppCompatActivity() {
1817

19-
private lateinit var drawerLayout: DrawerLayout
18+
private lateinit var binding: ActivityMainBinding
2019

2120
override fun onCreate(savedInstanceState: Bundle?) {
2221
super.onCreate(savedInstanceState)
23-
setContentView(R.layout.activity_main)
22+
binding = ActivityMainBinding.inflate(layoutInflater)
23+
setContentView(binding.root)
2424

25-
drawerLayout = findViewById(R.id.drawer_layout)
26-
27-
val toolbar = findViewById<Toolbar>(R.id.toolbar)
28-
setSupportActionBar(toolbar)
25+
setSupportActionBar(binding.containMain.toolbar)
2926

3027
// enable ActionBar app icon to behave as action to toggle nav drawer
3128
supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_menu)
3229
supportActionBar?.setDisplayHomeAsUpEnabled(true)
3330

34-
val navigationView = findViewById<NavigationView>(R.id.nav_view)
35-
if (navigationView != null) {
36-
setupDrawerContent(navigationView)
37-
}
38-
31+
setupDrawerContent(binding.navView)
3932
}
4033

4134
private fun setupDrawerContent(navigationView: NavigationView) {
4235
navigationView.setNavigationItemSelectedListener { menuItem ->
4336
menuItem.isChecked = true
4437
selectNavigationItem(menuItem.itemId)
45-
drawerLayout.closeDrawers()
38+
binding.drawerLayout.closeDrawers()
4639
true
4740
}
48-
4941
}
5042

5143
private fun selectNavigationItem(itemId: Int) {
52-
5344
when (itemId) {
5445
R.id.nav_drawer_logcat -> startActivity(Intent(this, LogcatActivity::class.java))
5546
R.id.nav_drawer_logfile -> startActivity(Intent(this, LogfileActivity::class.java))
@@ -71,7 +62,7 @@ class MainActivity : AppCompatActivity() {
7162
override fun onOptionsItemSelected(item: MenuItem): Boolean {
7263
when (item.itemId) {
7364
android.R.id.home -> {
74-
drawerLayout.openDrawer(GravityCompat.START)
65+
binding.drawerLayout.openDrawer(GravityCompat.START)
7566
}
7667
R.id.nav_drawer_logcat -> {
7768
startActivity(Intent(this, LogcatActivity::class.java))

sample/src/main/res/layout/activity_main.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
android:layout_height="match_parent"
77
android:fitsSystemWindows="true">
88

9-
<include layout="@layout/content_main" />
9+
<include
10+
android:id="@+id/contain_main"
11+
layout="@layout/content_main" />
1012

1113
<com.google.android.material.navigation.NavigationView
1214
android:id="@+id/nav_view"

0 commit comments

Comments
 (0)