将数据传回前一个Activity

来源:互联网 发布:网络用语凉了 编辑:程序博客网 时间:2024/05/22 13:44
通过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();

        
}

        });

        

        

    }

}
原创粉丝点击