ActivityはonActivity Result間でデータインタラクション

6582 ワード

まず、2つのactivityを作成します.それぞれMainActivityとOneActivityです.
MainActivityコードは次のとおりです.
package com.tp.soft.app;



import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;



public class MainActivity extends Activity implements OnClickListener{



    private Button mTzBtn;

    private TextView mShow;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        

        mTzBtn = (Button) findViewById(R.id.tzBtn);

        mTzBtn.setOnClickListener(this);

        

        mShow = (TextView) findViewById(R.id.showMsg);

        

    }



    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }



    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if(requestCode == 1){

            String msg = data.getStringExtra("FromOneActivity");

            mShow.setText(msg);

        }

    }



    @Override

    public void onClick(View v) {

        Intent intent = new Intent(MainActivity.this, OneActivity.class);

        String content = "Hello,OneActivity";

        intent.putExtra("FromMainActivity", content);

        startActivityForResult(intent, 1);

    }



}

呼び出し
startActivityForResult(intent, 1); 1 
onActivityResult requestCode。



OneActivity :
package com.tp.soft.app;



import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;



public class OneActivity extends Activity implements OnClickListener {

    

    private Button mbackBtn;

    private TextView mShow;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_one);



        mbackBtn = (Button) findViewById(R.id.backBtn);

        mbackBtn.setOnClickListener(this);

        

        mShow = (TextView) findViewById(R.id.showTxt);

        Intent intent = getIntent();

        String show = intent.getStringExtra("FromMainActivity");

        mShow.setText(show);

    }



    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.one, menu);

        return true;

    }



    @Override

    public void onClick(View v) {

        Intent intent = new Intent(OneActivity.this, MainActivity.class);

        intent.putExtra("FromOneActivity", "Hello,MainActivity");

        setResult(RESULT_OK, intent);

        finish();

    }



}