inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)

storeTap에 네비게이션 바인딩 적용하는 방법좀 알려주세요

269

신영현

작성한 질문수 37

0

강의에는 없지만 웹뷰를 적용하고 이전메뉴로 돌아가는 것을 만들고 싶어요.

현재 onCreatedview 에 웹뷰가 적용되어 있는데 여기에 바인딩을 적용시키려면 어떻게 짜야 할까요???

class TalkFragment : Fragment() {
    private lateinit var binding : FragmentStoreBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

    }
    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment

        val view = inflater.inflate(R.layout.fragment_store, container, false)

        val webView : WebView = view.findViewById(R.id.storeWebView)
        webView.loadUrl("https://www.iparimap.kr/")
        binding= DataBindingUtil.inflate(inflater, R.layout.fragment_talk, container, false)
//클릭시 이동하는 곳
        


        binding.homeTap.setOnClickListener {
            it.findNavController().navigate(R.id.action_storeFragment_to_homeFragment)
        }
}

android kotlin firebase

답변 1

1

개복치개발자

Android View에 대한 접근 1-6이라고 유튜브에 영상을 올려놨습니다

참고해보시겠어요?

https://www.youtube.com/watch?v=ADYuTeFB9Lo&t=22s

0

신영현

코드를 이렇게 쳤는데 메뉴를 클릭하면 앱이 죽습니다.. 무엇이 잘못됐을까요?

(talktap을 치면 웹뷰를 적용한 talkFragment로 이동합니다.)

*네비게이션, 웹뷰 둘다 적용합니다.

꼭 좀 알려주세요. 부탁드려요!

class TalkFragment : Fragment() {
    private lateinit var binding : FragmentStoreBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment

        val view = inflater.inflate(R.layout.fragment_talk, container, false)

        binding.bookmarkTap.setOnClickListener {
            it.findNavController().navigate(R.id.action_talkFragment_to_bookmarkFragment)
        }
        binding.storeTap.setOnClickListener {
            it.findNavController().navigate(R.id.action_talkFragment_to_storeFragment)
        }

        binding.homeTap.setOnClickListener {
            it.findNavController().navigate(R.id.action_talkFragment_to_homeFragment)
        }



        val WebView: WebView = view.findViewById(R.id.storeWebView)
        WebView.webViewClient = WebViewClient()


        WebView.loadUrl("https://www.inflearn.com/")
//        return inflater.inflate(R.layout.fragment_talk, container, false)

        return view
        return binding.root

    }
}

0

개복치개발자

맨 밑에

return view
        return binding.root

두가지를 모두 사용하지 마시고, binding만 사용하시거나, view만을 사용하셔야 합니다.

다른 fragment를 참고해보시겠어요?

0

신영현

그럼 웹뷰랑 바인딩 두 가지는 모두 사용할 수 없는건가여?

0

개복치개발자

우선 웹뷰와 바인딩에 대한 개념을 잘 이해하지 못하신 것 같습니다.

위의 제가 바꾸라고 말씀드린 부분은 문법상의 차이입니다.

findViewById를 대신하여 binding를 사용하셨다면 binding의 문법을 따라서 적용해주시면 됩니다.

다시한번 다른 fragment를 보면서 어떻게 코드를 작성했는지 참고해보시겠어요?

이미지가 기본이미지인지 확인

0

143

1

NavController error 발생

0

156

1

fragment 생성하고 메인에서 불러왔는데 안뜹니다.

0

151

2

67강 댓글

0

113

2

7강 데이터바인딩 에러

0

129

2

Firebase 스토리지 유료화 문제

1

309

2

게시글 이미지가 파이어베이스에 저장되지 않습니다.

0

192

2

AVD 갤러리에 이미지 저장 안되는 문제

0

257

2

이미지 받아오는 방법?

0

213

2

회원탈퇴 기능을 추가하려고 합니다.

0

198

2

상태바 질문 드립니다.

0

120

1

섹션2 인트로 페이지 꾸미기 질문 드립니다.

0

124

1

게시판 글을 길게 쓸경우

0

131

2

로그인 로그아웃

0

188

2

갤럭시 연결시 게시판에 업로드한 사진이 보이지 않아요.

0

222

2

웹뷰 AVD 실행안됨

0

201

1

자막켜기가 안되요 ㅜ.ㅜ

1

199

1

리사이클러뷰, 그리드레이아웃 오류

0

194

2

리사이클러뷰 오류 해결 방법이 궁금합니다.

0

204

1

firebase 스마트폰으로 연결이 안되는데 원인이 있을까요

0

274

2

안드로이드 스튜디오 게시글 이미지 업로드 유무

0

230

1

firebase 설정 오류

0

312

2

홈 화면 커뮤니티

0

183

1

게시판 글 읽기

0

247

2