🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

2123閲覧

Androidstudio Error inflating class パッケージ名.NestedWebView エラー内容が分からない

ludolf

総合スコア39

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2019/11/21 06:34

編集2019/11/22 01:09

いつもお世話になっております。

早速ですが、ViewPagerとWebViewを用いてWebアプリを作成しております。
今回検証中に特定のAPIでエラーが起きて落ちてしまします、そのエラー内容が良くわからず困っております、、

API21&22でエラーになっております。
(それ以外の環境ではエラーになりません)

targetSdkVersion 29
minSdkVersion 21

エラー内容ですが、onCreateViewでinflater.inflateでxmlを初めて読み込むタイミングでエラーになっております。
問題のプログラムは下記です。

RedWebView.java

java

1 2View redView; 3 4@Override 5 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 6 7 // Activity再生成時にFragmentを破棄させない。 8 setRetainInstance(true); 9 10 //大元のアクティビティをインスタンス化 11 View wv = inflater.inflate(R.layout.activity_main, container,false); 12 13 //初期化されるのを防ぐため一度生成されたら入らないように 14 if(redView == null) { 15 //ここでエラーエラーになります 16 try { 17 redView = inflater.inflate(R.layout.redwebview, container, false); 18 }catch(InflateException e){ 19 Log.d("Error 1","読み込み失敗の理由は" + e); 20 } 21 } 22 23 //トップロゴ宣言 24 logo_top = (ImageButton)wv.findViewById(R.id.logo_top); 25 26 // SwipeRefreshLayoutの設定 27 mSwipeRefreshLayout = (SwipeRefreshLayout)redView.findViewById(R.id.swipe_refresh); 28 mSwipeRefreshLayout.setColorSchemeResources(R.color.red_main_color); 29 mSwipeRefreshLayout.setOnRefreshListener(mOnRefreshListener); 30 31 // dp単位を取得 32 scale = getResources().getDisplayMetrics().density; 33 // マージン 20dp に設定 34 margins = (int)(20 * scale); 35 //プログレスバーのインスタンス化 36 progressBar = redView.findViewById(R.id.progressBar); 37 //プログレスバーのMAXの値を設置 38 progressBar.setMax(100); 39 //プログレスバーの進捗値 40 progressBar.setProgress(0); 41 42 return redView; 43 }

activity_main.xml

xml

1<?xml version="1.0" encoding="utf-8"?> 2<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:id="@+id/drawer_layout" 6 android:layout_width="match_parent" 7 android:layout_height="match_parent" 8 android:fitsSystemWindows="true" 9 tools:openDrawer="end"> 10 11 12 13 <androidx.coordinatorlayout.widget.CoordinatorLayout 14 xmlns:android="http://schemas.android.com/apk/res/android" 15 xmlns:app="http://schemas.android.com/apk/res-auto" 16 xmlns:tools="http://schemas.android.com/tools" 17 android:layout_width="match_parent" 18 android:layout_height="match_parent" 19 tools:context=".MainActivity"> 20 21 <com.google.android.material.appbar.AppBarLayout 22 android:layout_height="wrap_content" 23 android:layout_width="match_parent" 24 android:theme="@style/AppTheme.AppBarOverlay"> 25 26 <androidx.appcompat.widget.Toolbar 27 android:id="@+id/toolbar" 28 android:layout_width="match_parent" 29 android:layout_height="match_parent" 30 android:background="@color/white" 31 android:paddingTop="8dp" 32 android:paddingBottom="8dp" 33 app:layout_scrollFlags="scroll|snap"> 34 35 36 <androidx.appcompat.widget.AppCompatImageButton 37 android:id="@+id/logo_top" 38 android:layout_width="wrap_content" 39 android:layout_height="wrap_content" 40 android:layout_gravity="center" 41 android:adjustViewBounds="true" 42 android:scaleType="fitCenter" /> 43 44 </androidx.appcompat.widget.Toolbar> 45 46 <com.google.android.material.tabs.TabLayout 47 android:id="@+id/tabs" 48 android:layout_width="match_parent" 49 android:layout_height="35dp" 50 android:background="@color/white" 51 android:paddingTop="0dp" 52 android:paddingBottom="0dp" 53 android:paddingLeft="0dp" 54 android:paddingRight="0dp" 55 android:state_selected="true" 56 app:tabBackground="@drawable/tab_color_selector" 57 app:tabGravity="fill" 58 app:tabMaxWidth="0dp" 59 app:tabMode="fixed" 60 app:tabTextAppearance="@style/TabText" /> 61 62 63 </com.google.android.material.appbar.AppBarLayout> 64 65 //ViewPagerはここです 66 <androidx.viewpager.widget.ViewPager 67 android:id="@+id/view_pager" 68 android:layout_width="match_parent" 69 android:layout_height="match_parent" 70 android:focusable = "true" 71 android:layout_marginBottom="@dimen/design_bottom_navigation_height" 72 app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 73 74 75 <com.google.android.material.bottomnavigation.BottomNavigationView 76 android:id="@+id/bottom_navigation" 77 android:layout_width="match_parent" 78 android:layout_height="@dimen/design_bottom_navigation_height" 79 android:background="@color/white" 80 android:layout_gravity="bottom" 81 app:itemHorizontalTranslationEnabled="false" 82 app:labelVisibilityMode="labeled" 83 app:layout_constraintBottom_toBottomOf="parent" 84 app:layout_constraintLeft_toLeftOf="parent" 85 app:layout_constraintRight_toRightOf="parent" 86 app:menu="@menu/bottom_navigation_menu"/> 87 88 </androidx.coordinatorlayout.widget.CoordinatorLayout> 89 90 91 <com.google.android.material.navigation.NavigationView 92 android:id="@+id/nav_view" 93 android:layout_width="240dp" 94 android:layout_height="match_parent" 95 android:layout_gravity="end" 96 android:fitsSystemWindows="true" 97 app:menu="@menu/activity_main_drawer" /> 98</androidx.drawerlayout.widget.DrawerLayout> 99 100

redwebview.xml

xml

1<?xml version="1.0" encoding="utf-8"?> 2<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 tools:context=".ui.main.RedWebView"> 7 <androidx.swiperefreshlayout.widget.SwipeRefreshLayout 8 android:id="@+id/swipe_refresh" 9 android:layout_width="match_parent" 10 android:layout_height="match_parent"> 11 12 <RelativeLayout 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 android:fitsSystemWindows="true" 16 android:background="@color/red_main_color"> 17 18 <ProgressBar 19 android:id="@+id/progressBar" 20 style="@style/Widget.AppCompat.ProgressBar.Horizontal" 21 android:layout_width="match_parent" 22 android:layout_height="25dp" 23 android:layout_alignParentTop="true" 24 android:layout_centerHorizontal="true" 25 android:layout_centerVertical="true" 26 android:layout_marginTop="-10dp" 27 android:backgroundTintMode="add" 28 android:indeterminate="false" 29 android:progressDrawable="@drawable/redprogress" 30 tools:visibility="visible"/> 31 32 //エラーになっている箇所 33 <パッケージ名.NestedWebView 34 android:id="@+id/redWebView" 35 android:layout_width="match_parent" 36 android:layout_height="match_parent" 37 android:isScrollContainer="false" 38 android:layout_marginTop="5dp"/> 39 40 </RelativeLayout> 41 42 </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> 43</FrameLayout>

Error

1D/Error 1: 読み込み失敗の理由はandroid.view.InflateException: Binary XML file line #32: Error inflating class パッケージ名.NestedWebView

追記内容

tryを使っているのでそのまま下に行ってSwipeRefreshLayoutでエラーが起きます。
chachの内容は上に記述しております。

1万文字を超えたため下に記入します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimbe

2019/11/21 12:30

``` の右にはファイル名等で無く言語名(java,xml等)を記入してください. ファイル名等は```で囲った外側か, 内側にその言語のコメント記述で記入してください.
jimbe

2019/11/21 12:32

例外の表示にスタックトレースも含めるようにし, その全文をご提示願えますでしょうか.
ludolf

2019/11/22 01:10

こんにちは! jimbe様お手数ですが、ご回答よろしくお願いします! 上で1万文字超えたのでここで書きます、、 下が原因のエラーログです。 エラーログ ``` E/AndroidRuntime: FATAL EXCEPTION: main Process: パッケージ, PID: 6963 java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference at com.redwebview.ui.main.RedWebView.onCreateView(RedWebView.java:148) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2539) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:875) at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1227) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1293) at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:710) at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2063) at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1853) at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1808) at androidx.fragment.app.FragmentManagerImpl.execSingleAction(FragmentManagerImpl.java:1685) at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:560) at androidx.fragment.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:148) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:743) at com.google.android.material.appbar.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:97) at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:1868) at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:813) at android.view.View.measure(View.java:17430) at androidx.drawerlayout.widget.DrawerLayout.onMeasure(DrawerLayout.java:1119) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560) at android.view.View.measure(View.java:17430) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2001) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1166) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1372) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.C ```
jimbe

2019/11/22 02:23

> java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference > at com.redwebview.ui.main.RedWebView.onCreateView(RedWebView.java:148) とのことですが, この RedWebView.java:148 というのが redView = inflater.inflate(R.layout.redwebview, container, false); でしょうか? また, エラーログの最後が切れているようですが, その先に ludolf さんのプロジェクト内のコードは出てきませんでしょうか.
ludolf

2019/11/22 02:58

いえ、148行目は下記になります。 148行目「mSwipeRefreshLayout = (SwipeRefreshLayout)redView.findViewById(R.id.swipe_refresh);」 tryを使用しているためcatchに入り、redViewがないみたいなエラーです、、 catchの内容は D/Error 1: 読み込み失敗の理由はandroid.view.InflateException: Binary XML file line #32: Error inflating class パッケージ名.NestedWebView です。 エラーログの下に続く文字は「Application terminated.」で終わっています。 よろしくお願いします!
jimbe

2019/11/22 03:14

> }catch(InflateException e){ > Log.d("Error 1","読み込み失敗の理由は" + e); > } で終了していないために先に進んでしまって 148 行目で NullPointerException になってしまっている状況でしょうか. であれば, まず異常が発生して処理が継続不可能でしたら, 終了するようにしたほうが良いかと思います. この場合は, 例外を catch しなくとも上位に転送されてログの表示と共に停止してくれるのではないでしょうか. そうしないのでしたら, スタックトレースは Log.d("Error 1","読み込み失敗の理由は" + e) の個所で表示してください. 2次的な例外のトレースでは意味がありません.
ludolf

2019/11/22 04:14 編集

>先に進んでしまって 148 行目で NullPointerException になってしまっている状況でしょうか. はいjimbe様のおっしゃる通りです! >そうしないのでしたら, スタックトレースは Log.d("Error 1","読み込み失敗の理由は" + e) の個所で表示してください. 2次的な例外のトレースでは意味がありません. そうですね、そのままのエラーを送っていました、、 お手数おかけします、、 tryを無くした状態のエラーログが下記になります! E/AndroidRuntime: FATAL EXCEPTION: main Process: com.パッケージ, PID: 7196 android.view.InflateException: Binary XML file line #32: Error inflating class com.redwebview.NestedWebView at android.view.LayoutInflater.createView(LayoutInflater.java:633) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at com.redwebview.ui.main.RedWebView.onCreateView(RedWebView.java:138) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2539) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:875) at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1227) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1293) at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:710) at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2063) at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1853) at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1808) at androidx.fragment.app.FragmentManagerImpl.execSingleAction(FragmentManagerImpl.java:1685) at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:560) at androidx.fragment.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:148) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:743) at com.google.android.material.appbar.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:97) at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:1868) at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:813) at android.view.View.measure(View.java:17430) at androidx.drawerlayout.widget.DrawerLayout.onMeasure(DrawerLayout.java:1119) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17430) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560) at android.view.View.measure(View.java:17430) at android.v
ludolf

2019/11/22 09:50

jimbe様、appcompatのbeta版を使用したらできました!笑 「androidx.appcompat:appcompat:1.1.0-beta01」 自分の力では100%解決できない問題でした、、 本当にありがとうございます。 ベストアンサーにしたいためお手数ですが、回答をお願いしてもよろしいでしょうか? あと勝手ながらフォローさせていただきます!
jimbe

2019/11/22 12:50 編集

リンク先のコメントにあった方法ですね. フォローは全く構いません.
guest

回答1

0

ベストアンサー

検索によれば, API21~22[Lollipop,Android5.0~5.1]の(エミュレータの?) WebView には以前から問題があるようですが, 今日現在の修正状況は分かりません.
以下のコメントにはライブラリをダウングレードして解決(?)という方法がありました.

android.view.InflateException Error inflating class android.webkit.WebView

投稿2019/11/22 12:45

jimbe

総合スコア13204

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問