私は倍数モードで使用する活性を有しているので、私はこのようなことを行う必要があります:意図のエキストラを取得することができません
Intent i = new Intent(MainListActivity.this,MainActivity.class);
extras.putInt("id", c.getId());
extras.putInt("mode", AREA_MODE);
i.putExtra("extras", extras);
startActivity(i);
とonCreate
で:
Intent i = this.getIntent();
extras = i.getBundleExtra("extras");
if(extras!=null){
id = extras.getInt("id", -1);
mode = extras.getInt("mode", COUNTRY_MODE);
}
しかし意図をエクストラは常にnullです。何か不足していますか?これを行う方法はありますか?
EDIT:何らかの理由でgetIntent()
メソッドが私のケースでは余分な(主な意図がない)前のIntent
を返します。私はなぜそれを理解しようとしています。
いくつかのことを再確認しましょう。 'MainActivity'メソッドの完全な' onCreate'メソッドと、このインテントを生成する 'MainListActivity'メソッドの完全メソッドを投稿できますか?また、あなたは前の意図を得ているので、なぜあなたはMainListActivityの 'onCreate'も表示しないでください。 –
あなたのc.getId()は本当にintではないかもしれません。私はgetId()と同じような問題を抱えていましたが、通常はアルファベット文字で文字列を返しましたが、時には数字だけを文字列に渡しました。この場合、AndroidのputExtra(String、String)は面白い変換を行い、getStringで取得しようとするとnullになってしまいましたが、getIntで取得できました。 – midnight