当前位置: 代码迷 >> Android >> Android学习之有回到码的Intent
  详细解决方案

Android学习之有回到码的Intent

热度:66   发布时间:2016-05-01 16:41:46.0
Android学习之有返回码的Intent

开始类:

package irdc.ex03_11;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.RadioButton;public class EX03_11 extends Activity {  private EditText et;  private RadioButton rb1;  private RadioButton rb2;      /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState)   {    super.onCreate(savedInstanceState);    /* 加载main.xml Layout */    setContentView(R.layout.main);         Button b1 = (Button) findViewById(R.id.button1);    b1.setOnClickListener(new Button.OnClickListener()    {      public void onClick(View v)      {        /*获得可编辑的text*/        et = (EditText) findViewById(R.id.height);        double height=Double.parseDouble(et.getText().toString());             String sex="";        rb1 = (RadioButton) findViewById(R.id.sex1);        rb2 = (RadioButton) findViewById(R.id.sex2);        if(rb1.isChecked())        {        	sex="M";        }else{        	sex="F";        }            /*new Intent*/    	Intent intent = new Intent();        intent.setClass(EX03_11.this,EX03_11_1.class);                /*new Bundle并放入数据*/    	Bundle bundle = new Bundle();    	bundle.putDouble("height",height);    	bundle.putString("sex",sex);    	    	/*将Bundle数据放到Intent*/    	intent.putExtras(bundle);    	    	/*执行Activity EX03_11_1*/    	startActivityForResult(intent,0);      }    });  }    /*  onActivityResult()*/  @Override  protected void onActivityResult(int requestCode, int resultCode, Intent data)  {    switch (resultCode)    {       case RESULT_OK:    	/* 获得返回的数据 */          Bundle bunde = data.getExtras();        String sex = bunde.getString("sex");        double height = bunde.getDouble("height");                et.setText(""+height);        if(sex.equals("M"))        {          rb1.setChecked(true);        }else        {          rb2.setChecked(true);        }        break;             default:         break;      }    } }

?

返回类:

package irdc.ex03_11;import java.text.DecimalFormat;import java.text.NumberFormat;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class EX03_11_1 extends Activity {  Bundle bunde;  Intent intent;  /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState)   {    super.onCreate(savedInstanceState);    /* mylayout.xml Layout */    setContentView(R.layout.myalyout);        intent=this.getIntent();    bunde = intent.getExtras();        String sex = bunde.getString("sex");    double height = bunde.getDouble("height");        String sexText="";    if(sex.equals("M"))    {      sexText="地方";    }else    {      sexText="test";    }            String weight=this.getWeight(sex, height);        /**/    TextView tv1=(TextView) findViewById(R.id.text1);    tv1.setText("?琌??"+sexText+"\n??ō蔼琌"+height+"そだ\n??夹非砰?琌"+weight+"そょ");            /* 用findViewById()获得Button,并设置onClickListener */    Button b1 = (Button) findViewById(R.id.button1);    b1.setOnClickListener(new Button.OnClickListener()    {      public void onClick(View v)      {              	  /*设置返回码 */    	  EX03_11_1.this.setResult(RESULT_OK, intent);    	      	  /* activity执行完毕,返回前一个activity */    	  EX03_11_1.this.finish();      }    });  }    /* ?彼き??method */  private String format(double num)  {    NumberFormat formatter = new DecimalFormat("0.00");	String s=formatter.format(num);	return s;  }	  private String getWeight(String sex,double height)  {    String weight="";	if(sex.equals("M"))	{	  weight=format((height-80)*0.7);    }else	{	  weight=format((height-70)*0.6);	}		return weight;  }}

?出自:sdk范例大全

  相关解决方案