This app has two screens: Home and Details. On Home, a button navigates to Details. On Details, a button goes back to Home.
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.navigation.compose.*
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val navController = rememberNavController()
NavHost(navController, startDestination = "home") {
composable("home") { HomeScreen(navController) }
composable("details") { DetailsScreen(navController) }
}
}
}
}
@Composable
fun HomeScreen(navController: NavHostController) {
Scaffold(
topBar = { TopAppBar(title = { Text("Home") }) },
content = {
Button(onClick = { navController.navigate("details") }) {
Text("Go to Details")
}
}
)
}
@Composable
fun DetailsScreen(navController: NavHostController) {
Scaffold(
topBar = { TopAppBar(title = { Text("Details") }) },
content = {
Button(onClick = { navController.popBackStack() }) {
Text("Back to Home")
}
}
)
}