将数据传回前一个Activity

通过Bundle对象可以方便的将数据传给下一个Activity,但是回传时不是很实用,下面的方法介绍怎么实现:package jun.xiao;

import android.app.Activity;
import android.app.ListActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import android.util.*;
import android.content.Intent;

public class Main extends Activity {
    
      @Override
      public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.main);


              Button b=(Button)findViewById(R.id.ok);
              b.setOnClickListener(new Button.OnClickListener(){
             
public void onClick(View v)
             
{
             
Intent t=new Intent();
             
t.setClass(Main.this, jun.xiao.second.class);
             
Bundle bd=new Bundle();
             
String sex;
             
RadioButton male=(RadioButton)findViewById(R.id.male);
             
if(male.isChecked())
             
sex="男";
             
else
             
sex="女";
             
bd.putString("sex", sex);
             
EditText weight=(EditText)findViewById(R.id.weight);
             
bd.putString("weight", weight.getText().toString());
             
t.putExtras(bd);
             
startActivityForResult(t,0); //等待数据回传
             
//
Main.this.finish();
             
}
              });

      }


@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data)   {//重载,回传时处理的方法

// TODO Auto-generated method stub

EditText tx=(EditText)findViewById(R.id.weight);

         Bundle b=data.getExtras();

         tx.setText(b.getString("height"));



}







}


下一Activity
package jun.xiao;

import android.app.Activity;

import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.content.*;

public class second extends Activity{

public void onCreate(Bundle savedInstanceState) {

              super.onCreate(savedInstanceState);

              setContentView(R.layout.hello);

              TextView tx=(TextView)findViewById(R.id.textView1);

              Bundle b=this.getIntent().getExtras();

              String info;

              info="您的性别是:"+b.getString("sex")+"\n身高:"+b.getString("weight")+"cm";

              tx.setText(info);

             

              Button bu=(Button)findViewById(R.id.button1);

              bu.setOnClickListener(new Button.OnClickListener(){

             
public void onClick(View v)

             
{

             
Bundle re=new Bundle();

             
re.putString("height", "250");

             
Intent t=new Intent();

             
t.setClass(second.this,jun.xiao.Main.class);

             
t.putExtras(re);

             
second.this.setResult(RESULT_OK, t); //回传的数据自定义,

             
second.this.finish();

             
}

              });

             

             

      }

}

你可能感兴趣的:(Activity)