1. ホーム
  2. android

RuntimeException: アクティビティを開始できません ComponentInfo solution

2022-02-08 02:06:39

java.lang.RuntimeException: アクティビティを開始できません ComponentInfo{com.example.newsreader/com.example.newsreader.NewsReaderActivity}: android.view.InflateException.InflateException: バイナリXMLファイル行番号45 : Error inflating class fragment, this error occurred at runtime while doing a multi-screen design for android.

このエラーは、コンポーネントの詳細を開始できないことを明確に示しています。そして、以下の com.example.newsreader.NewsReaderActivity.onCreate(NewsReaderActivity.java:79) で、onCreate の初期化時に setContentView(R.layout. main_layout); でエラーが報告されました。で、この改行ポイントの後に、main_layoutはこの行の時点で設定したレイアウトページではないことがわかったので、少し理解し始めたのですが、私のプロジェクトはあらゆる画面サイズに対応するように設計されているので、このmain_layoutは特定のxmlレイアウトではなく、指定した一連のレイアウトの参照なのですね。特定の単純なエラーのないxmlレイアウトに変更したところ、エラーはなくなりました。

その後、情報を見直したところ、私の知る限りでは、以下のような場合にエラーが報告されるようです。

1. setContentView()で指定したレイアウトオブジェクトは、特定のレイアウトファイルではなく参照であり、その参照が正しくない可能性があります。システムはその違いを見分けることができないため、実行時例外でロードされる

2. 指定された xml は特定のレイアウトファイルであるが、レイアウトファイルが正しく書かれていない、例えばタグの最後が正しくない、 <imageView> タグが正しくない、すなわちコンポーネントが正しい方法で使用されていない。

3. 参照されたリソースが初期化されず、R.string.XXX または R.resource.XXX のような実行時例外が発生する。

4. 指定されたレイアウトxmlは特定のものであり、その中のコンポーネントも正しく、そして参照されたリソースも正しいので、考えられるのはこのレイアウトビューで参照された画像のサイズが大きすぎてデバイスが認識できないということで、これは確かに実行時例外となるものです。

ps:上記のエラーはスマホやタブレットではなく、エミュレータで実行したので、代表的なものではないかもしれません。 これが正しいかどうかわからないので、間違っていたら遠慮なく訂正してください。