안드로이드/ 인터넷 페이지 열기
8555 단어 안드로이드 예제안드로이드 프로그래밍안드로이드 예제
인터넷 페이지 열기 예제
url을 입력하고, '인터넷 페이지 열기' 버튼을 누르면 해당 페이지로 가는 기능 구현
package com.example.myapplication
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.widget.Button
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity
class IntentTest : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_intent_test)
// editText와 button id로 찾기
val button: Button = findViewById(R.id.button)
val editText: EditText = findViewById(R.id.editText)
// 버튼을 누르면
button.setOnClickListener {
// editText에 입력된 text(url 주소)를 받아서
val address = editText.text.toString()
// intent에 해당 주소정보를 넣어 만든다.
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(address))
startActivity(intent)
}
}
}
EditText에 있는 텍스트 가져와서 변수에 담기
val address = editText.text.toString()
- getText()는 Editable객체를 반환하기 때문에 변수에 담기 위해서는 toString() 메소드를 써서 문자열로 만들어줘야 한다.
📎 결과물
💡 EditText 관련 알아두면 좋은 리스너
addTextChangedListener
- EditText에 글자를 입력 받는 걸 감지하는 Listener이다.
- beforeTextChanged, onTextChanged, afterTextChanged를 오버라이드해서 익명함수를 채워넣어 사용
editText.addTextChangedListener(object : TextWatcher{
// 텍스트가 변하기 전에
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
// 텍스트가 변하고있을 때
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
// 텍스트가 모두 변화된 후에
override fun afterTextChanged(s: Editable?) {
}
})
💡 익명함수를 채워넣는 꿀팁
- 만약에 내가 지금 addTextChangedListener를 사용해야 하는데 처음 사용해서 어떻게 코드를 작성해야할지 모르겠다!
-> 아래 사진에 'watcher: TextWatcher!'라고 써져 있는 건 TextWatcher 인터페이스를 구현하는 익명함수를 만들어서 사용하라는 뜻이다.
- 따라서 일단 소괄호 안에
object: TextWatcher{
}
를 쓰고 안에 구현해야하는 메소드들을 오버라이드해서 작성하면 된다!
Author And Source
이 문제에 관하여(안드로이드/ 인터넷 페이지 열기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yellowsummer/안드로이드-공부-인터넷-페이지-열기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)