別の画面へ遷移させたい場合は、startActivityForResultメソッドを使用します。
遷移先のActivityへ値を渡すこともできます。
なお、遷移先のActivityをAndroidManifest.xmlへ登録する必要があります。
遷移元Activity:MyClass.java
import android.app.Activity; import android.content.Intent; public class MyClass extentds Activity{ public void myMethod(){ int requestCode = 1; // NextPageへ値を渡し、画面遷移する Intent it = new Intent(MyClass.this,NextPage.class); it.putExtra("numeric",1); it.putExtra("string","TEST"); it.putExtra("boolean",true); it.setAction(Intent.ACTION_VIEW); this.startActivityForResult(it,requestCode); } }
遷移先Activity:NextPage.java
import android.app.Activity; import android.os.Bundle; import android.content.Intent; public class NextPage extentds Activity{ public void onCreate(Bundle savedInstanceState){ int defaultInt = -1; boolean defaultBool = false; // MyClassからの値を受け取る Intent it = this.getIntent(); int num = it.getIntExtra("numeric",defaultInt); String str = it.getCharSequenceExtra("string").toString(); boolean bool = it.getBooleanExtra("boolean",defaultBool); // MyClassへ復帰値を渡し、終了する this.setResult(Activity.RESULT_OK,it); this.finish(); } }
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.myclass" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MyClass" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="NextPage"></activity> </application> <uses-sdk android:minSdkVersion="4" /> </manifest>
参考: 遷移元へ値を返す
参考: オブジェクトの受け渡し
参考: ページをめくる
コメント