intent伝達データの練習について

6800 ワード

1、メインActivityには2つのButtonがあり、各Buttonをクリックすると2番目のNewActivityが呼び出されます.
2、NewActivityから戻った後、2つのButtonのどちらから起動したNewActivityかを判断し、TextViewまたはToastに表示します.
 
MainActivity
package com.example.intenttest;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity
{

    private Button btn1, btn2;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);

        btn1 = (Button) findViewById(R.id.bnt1);
        btn2 = (Button) findViewById(R.id.bnt2);

        btn1.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View arg0)
            {
                // TODO Auto-generated method stub
                startActivityForResult(new Intent(MainActivity.this, NewActivity.class), 1);
            }
        });

        btn2.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View arg0)
            {
                // TODO Auto-generated method stub
                startActivityForResult(new Intent(MainActivity.this, NewActivity.class), 2);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        // TODO Auto-generated method stub
        switch (requestCode)
        {
            case 1 :
                Toast.makeText(MainActivity.this, " Button", Toast.LENGTH_SHORT).show();
                break;
            case 2 :
                Toast.makeText(MainActivity.this, " Button", Toast.LENGTH_SHORT).show();
                break;
            default :
                break;
        }
    }

}

 
NewActivity
package com.example.intenttest;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;

public class NewActivity extends Activity
{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.new_activity);
        setResult(RESULT_OK, new Intent().putExtra("result", " "));
    }

}