[Android Studio] intent 를 활용해 입력한 값 전달하기(Kotlin)

Jean·2023년 8월 3일
1

설명

  1. TextField에서 값을 입력
  2. "등록" Button 클릭
  3. 화면 전환
  4. 전환된 화면에서 TextField에서 입력한 값 보임

활용 jetpack compose

  • intent
  • putExtra, getExtra

#첫번째 Activity(name : MainActivity)

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            PersonalInfoTheme {
                // A surface container using the 'background' color from the theme
                Surface(
                    modifier = Modifier.fillMaxSize(),
                    color = MaterialTheme.colorScheme.background
                ) {
                    val context = LocalContext.current
                    var name by remember { mutableStateOf("") }
                        Column(){
                        TextField(value = name, onValueChange = {name = it},
                            label = { Text(text = "enter your name")})
                            Button(onClick = {
                                val intent1 = Intent(context, MainActivity2::class.java)
                                //val loginname = name
                                intent1.putExtra("name",name)

                                context.startActivity(intent1)
                            }
                            ) {
                                Text(text = "등록")
                            }
                    }

                }
            }
        }
    }
}

#두번째 Activity(name : MatinActivity2)

class MainActivity2 : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent(){
            PersonalInfoTheme {
                val name = intent.getStringExtra("name")
                Text(text = "이름 : $name")
            }
        }
    }
}
profile
아 왜 안돼

0개의 댓글