为更好地从Activity跳转,并且带数据传递和关闭Activity,加上请求码与返回码得到数据。请看详细下面的例子。

 

 

 

让我们看一下原代码。虽然,只有代码,大家肯定看效果的。

 

 
  
  1. package com.smart.activity;  
  2.  
  3. import android.app.Activity;  
  4. import android.content.ComponentName;  
  5. import android.content.Intent;  
  6. import android.os.Bundle;  
  7. import android.util.Log;  
  8. import android.view.View;  
  9. import android.widget.Button;  
  10.  
  11. public class Main extends Activity {  
  12.     private static final String TAG = "Main";  
  13.  
  14.     // ANDROID系统,组件与组件之间是通过,INTENT进行通信的。  
  15.     @Override 
  16.     public void onCreate(Bundle savedInstanceState) {  
  17.         super.onCreate(savedInstanceState);  
  18.         setContentView(R.layout.main);  
  19.         Button button = (Button) this.findViewById(R.id.button);  
  20.         button.setOnClickListener(new View.OnClickListener() {  
  21.  
  22.             @Override 
  23.             public void onClick(View v) {  
  24.                 Intent intent = new Intent(Main.this, SmartActivity.class);  
  25.                 // 打开应用的组件  
  26.                 intent.putExtra("id"988);  
  27.                 intent.putExtra("name""老梁");  
  28.  
  29.                 // Main.this.startActivity(intent); //这里请求码  
  30.                 Main.this.startActivityForResult(intent, 3);  
  31.             }  
  32.         });  
  33.     }  
  34.  
  35.     // 从第二个ACTIVITY返回的数据  
  36.     @Override 
  37.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  38.         Log.i(TAG, "requestCode=" + requestCode + ",resultCode=" + resultCode);  
  39.         if (resultCode == 2) {  
  40.             data.getStringExtra("result");  
  41.             Log.i(TAG, "result=" + data.getStringExtra("result"));  
  42.         }  
  43.         super.onActivityResult(requestCode, resultCode, data);  
  44.     }  

 

 
  
  1. package com.smart.activity;  
  2.  
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.widget.Button;  
  8. import android.widget.TextView;  
  9.  
  10. public class SmartActivity extends Activity {  
  11.  
  12.     private TextView resultView;  
  13.  
  14.     @Override 
  15.     protected void onCreate(Bundle savedInstanceState) {  
  16.         // 关于这行代码,是完成界面的代码  
  17.         super.onCreate(savedInstanceState);  
  18.  
  19.         setContentView(R.layout.smart);  
  20.         resultView = (TextView) this.findViewById(R.id.result);  
  21.  
  22.         Intent intent = this.getIntent();  
  23.         // 得到数据  
  24.         int id = intent.getIntExtra("id"0);  
  25.         String name = intent.getStringExtra("name");  
  26.  
  27.         resultView.setText("得到的参数为:--->id为:" + id + ", name为:" + name);  
  28.         Button button = (Button) this.findViewById(R.id.finish);  
  29.         button.setOnClickListener(new View.OnClickListener() {  
  30.  
  31.             @Override 
  32.             public void onClick(View v) {  
  33.                 Intent intent1 = new Intent();  
  34.                 // 进行关闭  
  35.                 intent1.putExtra("result""smart——android学习过程");  
  36.                 //这里返回码  
  37.                 SmartActivity.this.setResult(12,intent1);  
  38.                 SmartActivity.this.finish();  
  39.             }  
  40.         });  
  41.  
  42.     }  
  43.  
  44. }