2013年3月12日----Activity間転送データ
3206 ワード
異なるActivity間のデータ転送
別のActivityを呼び出しながらデータを渡すにはAndroidを利用する必要があります.os.Bundleオブジェクトはデータをカプセル化し、必要なデータまたはパラメータをBundleを介して異なるIntent間のデータを伝達します.データの再送にはonActivity Result()メソッドを書き換える必要があります.次に例を示します.
別のActivityを呼び出しながらデータを渡すにはAndroidを利用する必要があります.os.Bundleオブジェクトはデータをカプセル化し、必要なデータまたはパラメータをBundleを介して異なるIntent間のデータを伝達します.データの再送にはonActivity Result()メソッドを書き換える必要があります.次に例を示します.
package com.example.test01;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView textView01;
Button button01;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView01 = (TextView)findViewById(R.id.textView01);
button01 = (Button)findViewById(R.id.button01);
button01.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent(getApplicationContext(), activity2.class);
Bundle bundle = new Bundle();
bundle.putBoolean("sex", true);
intent.putExtras(bundle);
startActivityForResult(intent, 0);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (resultCode) {
case RESULT_OK:
Bundle bundle = data.getExtras();
boolean sex = bundle.getBoolean("sex");
textView01.setText(sex + "");
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
package com.example.test01;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class activity2 extends Activity
{
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button)findViewById(R.id.button01);
button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String sx = " ";
button.setText(sx + "");
boolean sex = bundle.getBoolean("sex");
if (sex) sx = " ";
button.setText(sx + "");
setResult(RESULT_OK , intent);
finish();
}
});
}
}