Androidで「getIntExtra(java.lang.String, int)」のエラーが発生する原因と解決方法


エラーメッセージは次のようになります: 「'getIntExtra(java.lang.String, int)' in 'android.content.Intent' cannot be applied to '(java.lang.String)'」

このエラーメッセージは、getIntExtraメソッドの引数の数や型が正しくないことを示しています。正しい使い方は、第1引数にキー名(String型)を指定し、第2引数にデフォルト値(int型)を指定することです。

以下に、正しい使い方とエラーの解決方法をコード例を交えて説明します。

// インテントの作成とデータの設定
Intent intent = new Intent(context, TargetActivity.class);
intent.putExtra("key_name", 123);
// 別のアクティビティから値を取得する
int value = intent.getIntExtra("key_name", 0);

この例では、"key_name"というキーで値を設定し、getIntExtraメソッドを使用して値を取得しています。第2引数にはデフォルト値として0を指定しています。もし"key_name"というキーで値が設定されていない場合、デフォルト値として0が返されます。

エラーが発生する場合は、以下の点を確認してください:

  1. getIntExtraメソッドの引数の数と型が正しいかどうかを確認してください。
  2. キー名が正しく指定されているかを確認してください。キー名は値を設定する側と取得する側で一致している必要があります。
  3. デフォルト値の型が正しいかどうかを確認してください。getIntExtraメソッドの第2引数には取得できなかった場合のデフォルト値を指定する必要があります。

これらのチェックを行い、正しい使い方に修正することで、エラーを解決することができます。

以上が、「getIntExtra(java.lang.String, int)」のエラーが発生する原因と解決方法の説明です。