1. ホーム
  2. Android

RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPoi Androidの開発において、アクティビティを開始できません。

2022-02-08 05:51:34

エラーメッセージ文字列: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.first/com.first.Game}: java.lang.NullPointerException。

通常は アクティビティ onCreate() メソッドを setContentView( XXX ) このエラーが発生した理由はネット上でいろいろと検証されていますが、おそらく重要な4つの原因が考えられると思います。

原因1 xxx の場合、エラーになります。 R.layout.main   そうすると、次のようになります。 main.xml ファイル内のタグ 使用法に関するエラーで、最も一般的でコンパイラに促されないものは  android:name   android:id この2つは混同されているので、再確認してください main.xml のタグはすべて

理由2 setContentView(view) メソッドの後に requestWindowFeature () メソッドを実行し、このエラーの下にプロンプトが表示されます。 リクエスト機能 requestFeatureは、必ず setContentView 以前から使用する場合は、単に requestWindowFeature () メソッドを を解決するために、 setContentView(view) メソッドの前にある

理由3:このようなエラーが発生するのは onCreate() メソッドに直接渡すメソッド本体には含まれません。 findById(R.id.xx) その結果、メソッド内で検索する必要があり setContentView(view) メソッドの前に findById(R.id.xx) で解決します。

理由4:このメソッドにエラーがあります。 setContentView(view) を過去に呼び出したことはありません。 ビュー がインスタンス化されると、宣言だけが行われ、直接の setContentView(ビュー) によって引き起こされます。 ビュー です。 setContentView(ビュー) を呼び出す前に、メソッド内でインスタンス化することで解決します。

理由5:ヌルポインターエラーが発生したため、スピナーやリストのようなもので値を確認する必要があるため Iアプリです。

<スパン

ネイティブのAndroidでAPKをコンパイルすると問題なくコンパイルできますが、実行するとタイトルにあるような例外が頻発し、プログラム全体がクラッシュしてしまいます・・・・・・。

    この問題は、リソースファイルの変更が原因であることが多く、修正方法はいくつかあります。

    1. <スパン  クラス名の参照に関する問題 : Viewをカスタマイズし、パッケージ名をMyPackage、クラス名をMyTestViewとして、レイアウトファイルで使用します。このとき、MyPackage.MyTestViewを使用して、レイアウト要素としてXMLで参照するには、フルパス名、つまりパッケージ名とクラス名を使用する必要があります。

    2. <スパン コンストラクタの問題 : Viewをカスタマイズするためには、基本クラスViewを実装した3つのコンストラクタを導出する必要があります。

   View(Context context) //コードからビューを作成する際に使用する簡易コンストラクタです。

    View(Context context, AttributeSet attrs) //XMLからビューを展開する際に呼び出されるコンストラクタです。

    View(Context context, AttributeSet attrs, int defStyle) //XML からインフレを行い、クラス固有の基本スタイルを適用します。

    ドキュメントを見ると、このようなXML参照には2番目と3番目のコンストラクタが必要で、この3つのコンストラクタを使用して、異なるアプリケーションでViewオブジェクトをインスタンス化する必要があるようです。

    3. コンパイルした中間ファイルがクリーンアップされない 第三は、あなたがネイティブシステムのコードのコンパイル環境では、APKをコンパイルした後、特にXMLを変更し、タイトルに記載されている現象は、この時間は、あなただけのアウトディレクトリを削除する必要が生成中間フォルダができますコンパイル(特定の名前を覚えていない:コンパイルの過程で、システムは、シリアルポートを通じて、それを見て、その場所をプリントアウトします...)。/アウト/...... /.... /classes.dexは、あなたのアプリケーションのプロジェクト名層フォルダに進むこのパスに従ってください)、それを削除し、再びそれを作ることはOKです。

    4. <スパン リソースファイルが見つかりません 私はもともと2.3のネイティブシステムでは、動的な壁紙を追加し、この例外を実行すると、クラッシュ、それは私がdrawableのリソースファイルが見つからなかったため、その時点で私はdrawbleのコピーをコピーするhdpiまたはnodpiフォルダの画像リソースを置く、問題は(その時点で理解されていない)解決されました(システムは解像度に応じてdrawable下の別のフォルダからリソースをロードするために選択するので、なぜ私はここでdrawableにそれらを置く必要があります)。