通过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();
}
});
}
}
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 {
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);
}
}
下一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) {
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();
}
}