アクティビティクラスからインテントを起動しようとしています。
Intent i = new Intent(this, (Obscured)MapActivity.class);
i.putExtra("stop", stop);
this.startActivity(i);
そして、これが(Obscured)MapActivityの私のインテントレシーバーです:
Intent i = this.getIntent();
if (i != null && i.getSerializableExtra("stop") != null) {
this.displayLocations();
BusStop tempStop = new BusStop();
tempStop = (BusStop) i.getSerializableExtra("stop");
this.goToStop(tempStop);
}
しかし、何らかの理由で起動していません。そのすぐ上に別のケースがあります:
if (i != null && i.getSerializableExtra("loc") != null) {
this.displayLocations();
this.goToLocation((Location) i.getSerializableExtra("loc"));
}
これは問題なく機能し、インテントランチャーコードはほぼ完全に同じです。何か案は?
編集:私もSherlockListActivityを使用していますが、それが何かを変えるかどうかはわかりません。
<activity
android:name=".(Obscured)MapActivity"
android:configChanges="keyboardHidden|orientation|screenSize|uiMode|screenLayout"
私はより多くの情報を提供してうれしいです、これは今数時間私を悩ませています。
回答:問題が見つかりました。どういうわけかシリアライズ可能なエクストラ(ストップ)を追加すると壊れてしまいます。putExtra()をコメントアウトすると、機能します。問題は、GeoPointをシリアル化しようとしたことでした。