2016-05-05 4 views
1

FloatingActionButtonオブジェクトをメソッド外に作成しましたが、値を与えませんでした。メソッドfabInitializerの中で、XMLファイルでタグ付けするために参照することによって値を与えます。 私は、私が作成したクラスのオブジェクトのメソッドを使用したい場合は、Androidのメーカーは言う:なぜ、コンパイラはNullPointerExceptionを期待しないのですか?

はobject.methodは()Javaのnullポインタ例外を生成することができます。

プログラムは正常に動作します。

オブジェクト値がnullの場合、そのメッセージは生成されるはずですが、そうではありません。これをどうすれば解決できますか?

public void fabInitializer() { 
    mFab = (FloatingActionButton) findViewById(R.id.fab); 
    mFab.setOnClickListener(this); 

} 
+0

こんにちは - そして代わりのコードテキストを貼り付けることも、より有用である:あなたがディフェンシブに警告と書き込みコードを削除したい場合は、守備のヌルチェックを追加画像/スクリーンショット。 – ishmaelMakitla

+0

皆が指摘するように、警告を無視することができます。また、その上にあるALT + ENTERをクリックすることで警告を抑制することもできます。これは、それを '修正する'方法に関するオプションを提供します。 – Vucko

答えて

2

これは単なる警告です。 AndroidスタジオはmFabがヌルでないと判断できません(various reasonsのため)。また、レイアウトXMLSのコードを含めてください

if (mFab!=null) mFab.setOnClickListener(this); 
+0

ありがとうございました! – user3882221

関連する問題