質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

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

Android

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

Q&A

解決済

1回答

642閲覧

NullPointerExceptionのエラー

RYOHEI1009

総合スコア45

Java

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

Android

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

0グッド

0クリップ

投稿2018/01/05 17:21

エラー内容

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getStringExtra(java.lang.String)' on a null object reference

エラー解決が出来ません
ご教授お願いします。

java

1import android.content.Intent; 2import android.support.v7.app.AppCompatActivity; 3import android.os.Bundle; 4import android.view.View; 5import android.widget.TextView; 6 7public class selectQuestion extends AppCompatActivity { 8 9 @Override 10 protected void onCreate(Bundle savedInstanceState) { 11 super.onCreate(savedInstanceState); 12 setContentView(R.layout.activity_select_question); 13 } 14 Intent intent = getIntent(); 15 String NO = intent.getStringExtra("NO"); 16 String subject =intent.getStringExtra("subject"); 17 //クリック処理//クリッカへ移動 18 public void kurika(View v){ 19 //画面の指定 20 Intent intent = new Intent(this,kurika.class); 21 intent.putExtra("NO",NO); 22 intent.putExtra("subject",subject); 23 //画面を開く 24 startActivity(intent); 25 } 26 //記述問題に移動 27 public void kijutu(View v){ 28 Intent intent = new Intent(this,kijutu.class); 29 intent.putExtra("NO",NO); 30 intent.putExtra("subject",subject); 31 startActivity(intent); 32 } 33 34 35} 36

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

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

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

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

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

guest

回答1

0

ベストアンサー

onCreateメソッドがIntent intent = getIntent();の上で閉じてしまっているため、
ここから3行はメンバ変数の宣言及び初期化をしていることになります。
この段階ではActivityの適切な初期化がまだ終わっていないため、getIntentはnullを返します。

解決するには、これら3行もonCreateメソッドの中に入れてください。

投稿2018/01/05 17:42

swordone

総合スコア20651

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

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

RYOHEI1009

2018/01/05 18:01

それらをメゾット内に入れると、クリック処理でそれらの変数がつかえません。。。
pngnshny

2018/01/05 18:16

NOとsubjectはメンバ変数として宣言だけしておき、初期化処理をonCreateメソッド内で行えばいいかと…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問