본문 바로가기
코딩하기/android studio

(android studio) Fragment에서 웹뷰(webView) 띄우기

by 치즈도넛 2021. 4. 2.
반응형

플밍 초보인 저는 Activity만 사용해봤는데 처음으로 Fragment를 사용해 보았습니다.

 

Fragment를 간단하게 설명하자면 한 화면(Activity)에 여러 화면을 만들 수 있다고 합니다.

 

 

그럼 바로 본론으로 넘어가서

Fragment에 웹뷰 url을 넣고싶은데 어디에 넣어야할지 너무 막막해서

구글&유투브 서치 끝에 방법을 알아냈습니다..!

 


Fragment.java

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_one, container, false);

        WebView webView = view.findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl("넣고자하는 url");
        webView.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
             if (event.getAction() == KeyEvent.ACTION_DOWN){
                 if (keyCode == KeyEvent.KEYCODE_BACK){
                   if (webView!=null){
                       if (webView.canGoBack()){
                           webView.goBack();
                       }else {
                           getActivity().onBackPressed();
                       }
                   }
                 }
             }return true;
            }
        });
        return view;
    }

 

처음 플래그먼트를 사용하였을 때,

return inflater.inflate(R.layout.fragment_one, container, false);

이런식으로 나왔을 겁니다!

 

return을 지우고

View view = inflater.inflate(R.layout.fragment_one, container, false);

바꿔주신 뒤, return값을 view로 바꿔주시면 됩니다.

 

 

 

Fragment.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".aaa">

    <!-- TODO: Update blank fragment layout -->
    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </WebView>

</FrameLayout>

 

 

막막했던것 보다 쉽고 짧게 끝났네요.

간단한 만큼 에러없이 잘 나올겁니다

 

 

이 코드를 활용한 어플은

맞춤법 검사/띄어쓰기 검사

play.google.com/store/apps/details?id=com.check.spellingcheck

 

모두 즐겁게 코딩하세요~

반응형

댓글