mzは がめんせんい をおぼえた!
2015/12/14 01:54:29
つうわけでandroidにおける画面遷移ですね
Main以外のActivity作って、それのIntent作ってstartActivity()するだけね。
finish()を実行すればスパッと親元Activityに戻れる。
Activity間でデータのやりとりしたいときは、基本最初の遷移時と同じ要領で
SINGLE_TOPフラグ指定により新規Activity作成(既存のは消される)ではなく、既存Activity再利用となり、onCreate()が実行されない点に留意されたい。このほうがパフォーマンス的によかろうぞ。
また、作成したActivityをも再利用するのであればCLEAR_TOP(他のActivity全消去)せず再利用時にSINGLE_TOP指定で遷移するのがよいかと思われる、実際組んでないんで動くかどーかしらんけど。あと初期化が必要かどーかにもよるね。
putExtraで置いたデータを受け取るときは、
送り元と受け取りのデータ型は揃えよう。当たり前体操。
Main以外のActivity作って、それのIntent作ってstartActivity()するだけね。
Intent intent = new Intent(getBaseContext(), YourActivity.class);こんな感じね。そこいらでソース探すとコンストラクタにthis渡してるのばかりなんだが、最近仕様が変わったのかしらん?(うちのコード設計上こうなってるだけかも)
startActivity(intent);
finish()を実行すればスパッと親元Activityに戻れる。
Activity間でデータのやりとりしたいときは、基本最初の遷移時と同じ要領で
Intent intent = new Intent(this, MainActivity.class);こんなん。
intent.putExtra("DataLabel", data);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
SINGLE_TOPフラグ指定により新規Activity作成(既存のは消される)ではなく、既存Activity再利用となり、onCreate()が実行されない点に留意されたい。このほうがパフォーマンス的によかろうぞ。
また、作成したActivityをも再利用するのであればCLEAR_TOP(他のActivity全消去)せず再利用時にSINGLE_TOP指定で遷移するのがよいかと思われる、実際組んでないんで動くかどーかしらんけど。あと初期化が必要かどーかにもよるね。
putExtraで置いたデータを受け取るときは、
Intent intent = getIntent();こんなん。受け取るデータが存在しない場合は第二引数のゼロが返る。
data = intent.getIntExtra("DataLabel", 0);
送り元と受け取りのデータ型は揃えよう。当たり前体操。
PR
この記事へのトラックバック
この記事のトラックバックURL