フラグメントからmainActivityにStringを送信しようとしています。私はこの権利をしているのかどうかはわかりませんが、ユーザーがボタンを押した後、新しいmainActivity Intentを開始します。 フラグメントから送信されたStringメッセージがない場合、mainActivityの代わりにフラグメントをロードする必要があります。 は、主な活動の開始時に、私は、メッセージがnullではないが、私はI'amはnullオブジェクトにオブジェクトがヌルかどうかを調べる
れるjava.langにアクセスしようとしているため、エラーとアプリケーションが起動したくない得るかどうかを確認してみました。 RuntimeException:アクティビティを開始できませんComponentInfo {com.example.audriusalekna.camerapht/com.example.audriusalekna.camerapht.MainActivity}:java.lang.NullPointerException:仮想メソッド 'java.lang.String android.os.Bundleを呼び出しようとしています。 nullオブジェクト参照のgetString(java.lang.String) '
これを行うには別のアプローチをとるべきですか?ここで
私のコードは、内部のバンドルがあまりにもNULLでない場合はelse
が扱うべきではありません
if(intent!=null && intent.getExtras() != null && intent.getExtras().getString("tagsText") == null){
意図自体がNULLでないかどうかを確認する必要がある、と
Intent intent = getIntent();
if(intent.getExtras().getString("tagsText") == null){
Fragment fragment = TagsFragment.newInstance(tagsText, "blah");
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment, fragment).commit();
cameraBtn.setEnabled(false);
cameraBtn.setVisibility(View.GONE);
firstTime = false;
}
else{
tagsText = intent.getExtras().getString("tagsText");
Log.v("MESSAGE", tagsText);
}