調べる - Android Intent.getStringExtra()がnullを返す



intent null (1)

これは、文字列がエクストラに追加される方法です。

Intent i = new Intent();
i.putExtra("Name", edt_name.getText());
i.putExtra("Description", edt_desc.getText());
i.putExtra("Priority", skb_prior.getProgress());
setResult(RESULT_OK, i);
finish();

これはonActivityResult()それらを抽出する方法です:

String name = data.getStringExtra("Name");
String desc = data.getStringExtra("Description");
int prior   = data.getIntExtra("Priority", 50);

しかし、2番目のコードブロックnamedescnullがありnullが、 priorは適切な値があります。 さらに、デバッガでは、 data.mExtras.mMapに必要な文字data.mExtras.mMapが含まれていることがdata.mExtras.mMapますが、最初の要求があった後でなければなりません。


.toString()追加しようとすると、

i.putExtra("Name", edt_name.getText().toString());

そこにCharSequence値が表示されていますが、 getStringExtra()を呼び出すにはStringに変換する必要があります。 明らかに、 Stringsに対してこれを行うだけです。 正しく行われているため、 int正しい値が表示されます





extras