Activityの切り替えとデータ転送
4292 ワード
antivity 1でintentおよびbundleオブジェクトを用いてactivityおよび転送データを切り替える
activity 2でbundleオブジェクトのデータを受け入れる
ここで注意しなければならないのはactivityを超えているので、メインプログラムを決定する必要があります.
Android Mainfestでxmlで
設定
図changetest 01にentry pointが追加されているので、それから起動します.
Android studioはespliceとは異なり、activityを手動で追加する必要はありません.
必要に応じてAndroidManifestでメインプログラムを変更すればよい.
Button button01 = (Button) findViewById(R.id.button1);
button01.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
EditText et = (EditText) findViewById(R.id.editText1);
double editText1 = Double.parseDouble(et.getText().toString()); //
String choose = "";
RadioButton rg1 = (RadioButton) findViewById(R.id.radioButton); //
if(rg1.isClickable())
{
choose = "M";
}
else choose = "F";
Intent intent = new Intent();
intent.setClass(ChangeTest01.this,ChangeTest02.class); //activity
Bundle bundle = new Bundle(); //activity
bundle.putDouble("edit1",editText1); // ,
bundle.putString("choose",choose);
intent.putExtras(bundle); // bundle intert;
startActivity(intent); // activity
}
}
);
activity 2でbundleオブジェクトのデータを受け入れる
Bundle bundle = this.getIntent().getExtras(); // intent bundle
String choose = bundle.getString("choose"); // bundle
double edit1 = bundle.getDouble("edit1");
String chooseText = "";
if(choose.equals("M"))
{
chooseText="A";
}else chooseText="B";
TextView textView1 = (TextView) findViewById(R.id.textView1);
textView1.setText(chooseText);
TextView textView2 = (TextView) findViewById(R.id.textView2);
textView2.setText(String.valueOf(edit1)); //double string
ここで注意しなければならないのはactivityを超えているので、メインプログラムを決定する必要があります.
Android Mainfestでxmlで
設定
<activity
android:name=".ChangeTest01"
android:label="@string/title_activity_change_test01" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ChangeTest02"
android:label="@string/title_activity_change_test02" >
</activity>
図changetest 01にentry pointが追加されているので、それから起動します.
Android studioはespliceとは異なり、activityを手動で追加する必要はありません.
必要に応じてAndroidManifestでメインプログラムを変更すればよい.