프래그먼트에 텍스트나 버튼 같은걸 넣고 실행하면 실행이 잘됩니다. 로그캣에도 오류가 안떠요. 하지만 웹뷰를 넣고 실행하면 앱이 켜지지도 않고 중단됩니다... 그리고 로그캣에 오류 어마무시하게 뜹니다..
우선 매니페스트에
<uses-permission android:name="android.permission.INTERNET" />
는 추가해둿습니다.
package com.example.starcitizen.fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.fragment.app.Fragment;
import com.example.starcitizen.R;
public class HomeFragment extends Fragment {
public HomeFragment(){ }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
String url = "http://google.com";
WebView view = rootView.findViewById(R.id.home_webview);
view.setWebViewClient(new WebViewClient());
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl(url);
return rootView ;
}
}
위는 제가 웹뷰를 넣으려고하는 프래그먼트의 java파일입니다.
<RelativeLayout 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="com.example.starcitizen.fragment.HomeFragment">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/home_webview"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
프래그먼트 xml 파일입니다. 여기에 웹뷰말고 텍스트나 버튼을 넣으면 실행이 잘되요..
11-16 12:26:07.297 3562-3562/com.example.starcitizen E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.starcitizen, PID: 3562
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.starcitizen/com.example.starcitizen.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class android.webkit.WebView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class android.webkit.WebView
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at com.example.starcitizen.fragment.HomeFragment.onCreateView(HomeFragment.java:18)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:881)
로그캣입니다.. 웹뷰만 넣고 실행하면 이렇게 무시무시하게 많이 뜹니다....ㅠㅠ 8000자가 넘어서 전부 입력할수가 없네여;;; 검색해서 해보려고하는데 로그캣에 대해서는 이해가 잘 안되네요. 어디가 문제인지 한번만 도와주시면 감사드리겠습니다 ㅠㅠ..