[코틀린] 클릭시 웹페이지 열기, 페이지주소 변수 넣기
조회수 1488회
코틀린 초보 입니다.
현재 코틀린 프로젝트에서 gson 을 사용해서 DB 서버에서 데이터를 가져오는것 까지는 성공 하였고 리사이클러 뷰에 텍스트로 나오는것까지는 확인하였습니다.
제가 하고 싶은것은 해당 view를 클릭 했을때 DB에서 가져온 링크 주소로 접속이 되게 하고 싶습니다.
현재 println(user8.URI) 에 의해서 제가 연결하고자하는 주소는 잘 출력이 되는데
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("http://naver.com")) 에서 http://naver.com 대신에 해당 주소를 기입하고자 하는데 잘되지 않습니다. 네이버는 잘열립니다.
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(user8.URI)) 이런식으로 하면 될 줄알았는데 되지 않아 문의드립니다.
클레스가 나누어져 있어서 그런건지... 초보라 감이오질 않습니다.. 도와주시면 감사하겠습니다.
class MainAdapter(var homeFeed: HomeFeed): RecyclerView.Adapter<CustomViewHolder>() {
override fun getItemCount(): Int {
return homeFeed.user8.count()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
//How do we even create a view
val layoutInflater = LayoutInflater.from(parent.context)
val cellForRow = layoutInflater.inflate(R.layout.video_row, parent, false)
return CustomViewHolder(cellForRow)
}
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
val user8 = homeFeed.user8.get(position)
holder?.view?.id_NAME.text = user8.NAME
holder.view.id_TYPE.text = user8.TYPE
holder.view.id_DATE.text = user8.DATE
holder.view.id_PLACE.text = user8.PLACE
holder.view.id_URI.text = user8.URI
println(user8.URI)
}
}
class CustomViewHolder(val view: View): RecyclerView.ViewHolder(view) {
init {
view.setOnClickListener {
println("TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("http://naver.com"))
view.context.startActivity(intent)
}
}
}
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
http 로 접속할 경우 안 될 경우가 있습니다. https 주소를 사용 하시거나 http 접속을 허용해 주세요.
그리고 잘 되지 않으시다는게 어떻게 잘 안되는지 적어주시기 바랍니다.
- 질문에 내용이 좀 부족했던거 같습니다 링크페이지가 안열린다는 내용은 아니며 권한같은 설정은 잘되어 있어 네이버가 정상으로 열리는건 확인된 상황입니다. 잘열리고 있는 네이버 주소가 아니라 제가 지정한 변수(user8.URI)의 링크로 이동하고 싶습니다. 단순히 val intent = Intent(Intent.ACTION_VIEW, Uri.parse(user8.URI)) 이런식으로 하면 될 줄알았는데 되지 않아 문의드립니다. 알 수 없는 사용자 2020.3.6 11:46
- 아...user8.URI 에서 user8 변수가 어댑터의 onBindViewHolder 메서드에서 선언되있는데 해당 메서드 외에서 변수를 사용할 수 없습니다. CustomViewHolder 클래스의 모든 코드를 공개하신건 아니시죠? holder.view.id_URI.text 텍스트 뷰에서 텍스트를 가져와서 Uri.parse 파라미터에 넣어보세요 김은기 2020.3.6 13:46
- 근데... 코틀린을 몰라서 제가 하는말이 틀릴 수 도 있습니다 ㅜㅜ 김은기 2020.3.6 13:58
- MainAdapter 와 CustomViewHolder 전체 코드 입니다 ㅠ 며칠 노력 해봣는데 잘 모르겠어요 ㅠ 알 수 없는 사용자 2020.3.6 14:23
댓글 입력