Android Activity Intent

首先定义一个LifeCycleActivity的类,继承Activity,重写onCreat() onStart()  onResume()  onPause()  onStop()  onDestroy()

 1 import android.app.Activity;
 2 import android.os.Bundle;
 3 import android.util.Log;
 4
 5 public class LifeCycleActivity extends Activity{
 6
 7     @Override
 8     protected void onCreate(Bundle savedInstanceState) {
 9         super.onCreate(savedInstanceState);
10         Log.e(this.getClass().getName(), "onCreate");
11     }
12
13     @Override
14     protected void onStart() {
15         super.onStart();
16         Log.e(this.getClass().getName(), "onStart");
17     }
18
19     @Override
20     protected void onResume() {
21         super.onResume();
22         Log.e(this.getClass().getName(), "onResume");
23     }
24
25     @Override
26     protected void onPause() {
27         super.onPause();
28         Log.e(this.getClass().getName(), "onPause");
29     }
30
31     @Override
32     protected void onStop() {
33         super.onStop();
34         Log.e(this.getClass().getName(), "onStop");
35     }
36
37     @Override
38     protected void onDestroy() {
39         super.onDestroy();
40         Log.e(this.getClass().getName(), "onDestroy");
41     }
42 }

打开APP,并启动下一个界面,然后返回主界面

点击事件监听

一、自己点击自己

  1 import android.content.Intent;
  2 import android.os.Bundle;
  3 import android.util.Log;
  4 import android.view.View;
  5 import android.view.View.OnClickListener;
  6 import android.widget.Button;
  7 import android.widget.Toast;
  8
  9 public class MainActivity extends LifeCycleActivity {
 10
 11     public static final String TAG = "MainActivity";
 12     Button button,buttonNext,buttonMsg,buttonSex,buttonHeight,buttonBack;
 13
 14     public static final int SEX_SELECT = 1;
 15     public static final int HEIGHT_SELECT = 2;
 16
 17     @Override
 18     protected void onCreate(Bundle savedInstanceState) {
 19         super.onCreate(savedInstanceState);
 20         setContentView(R.layout.activity_main);
 21
 22         //自己点击自己
 23         button = (Button) findViewById(R.id.main_btn);
 24         button.setOnClickListener(new OnClickListener() {
 25             @Override
 26             public void onClick(View v) {
 27                 //定义一个意图,启动FirstActivity
 28                 Intent intent = new Intent(MainActivity.this, MainActivity.class);
 29                 Toast.makeText(MainActivity.this, "你点击了自己", Toast.LENGTH_SHORT).show();
 30                 startActivity(intent);
 31             }
 32         });
 33
 34         //启动下一个界面,不带参数
 35         buttonNext = (Button) findViewById(R.id.main_btn_next);
 36         buttonNext.setOnClickListener(new OnClickListener() {
 37             @Override
 38             public void onClick(View v) {
 39                 //定义一个意图,启动FirstActivity
 40                 Intent intent = new Intent(MainActivity.this, FirstActivity.class);
 41                 startActivity(intent);
 42             }
 43         });
 44
 45         //启动下一个界面,并传递参数给下一个界面,比如发送一个句话
 46         buttonMsg = (Button)findViewById(R.id.main_btn_msg);
 47         buttonMsg.setOnClickListener(new OnClickListener() {
 48             @Override
 49             public void onClick(View v) {
 50                 Intent intent = new Intent(MainActivity.this, SecondActivity.class);
 51                 intent.putExtra("msg", "我要送你一句话");
 52                 startActivity(intent);
 53
 54             }
 55         });
 56
 57
 58         //启动下一个界面,选择性别,并将选择结果返回显示在MainActivity中
 59         buttonSex = (Button)findViewById(R.id.main_sex);
 60         buttonSex.setOnClickListener(new OnClickListener() {
 61             @Override
 62             public void onClick(View v) {
 63                 Intent intent = new Intent(MainActivity.this, ThirdActivity.class);
 64
 65                 startActivityForResult(intent, SEX_SELECT);
 66             }
 67         });
 68
 69         //启动下一个界面,输入身高,并将结果返回显示在MainActivity中
 70         buttonHeight = (Button) findViewById(R.id.main_height);
 71         buttonHeight.setOnClickListener(new OnClickListener() {
 72             @Override
 73             public void onClick(View v) {
 74                 Intent intent = new Intent(MainActivity.this, FourActivity.class);
 75                 startActivityForResult(intent, HEIGHT_SELECT);
 76             }
 77         });
 78
 79         //退出App
 80         buttonBack = (Button) findViewById(R.id.main_btn_back);
 81         buttonBack.setOnClickListener(new OnClickListener() {
 82             @Override
 83             public void onClick(View v) {
 84                 //主活动点击返回直接退出程序
 85                 finish();
 86             }
 87         });
 88     }
 89
 90
 91     @Override
 92     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 93
 94         switch (requestCode) {
 95         case SEX_SELECT:
 96             String sex;
 97             if(resultCode == ThirdActivity.MAN_CODE){
 98                 sex = data.getStringExtra("sex_result");
 99                 Log.e(TAG, "sex = "+sex);//null
100                 buttonSex.setText("选择了"+sex);
101             }else {
102                 sex = data.getStringExtra("sex_result");
103                 buttonSex.setText("选择了"+sex);
104             }
105             break;
106         case HEIGHT_SELECT:
107             int height;
108             if(resultCode == FourActivity.SUBMIT){
109                 //必须给默认值
110                 height = data.getIntExtra("height", -1);
111                 buttonHeight.setText(height+"cm");
112             }
113             break;
114         default:
115         }
116     }
117
118 }

启动下一个界面,无数据传递,无返回数据,

 1 import android.os.Bundle;
 2 import android.view.View;
 3 import android.view.View.OnClickListener;
 4 import android.widget.Button;
 5
 6 public class FirstActivity extends LifeCycleActivity{
 7
 8         @Override
 9         protected void onCreate(Bundle savedInstanceState) {
10             super.onCreate(savedInstanceState);
11             setContentView(R.layout.activity_first);
12
13             //关闭这个界面,会回到上一个界面
14             Button buttonBack = (Button)findViewById(R.id.first_btn_back);
15             buttonBack.setOnClickListener(new OnClickListener() {
16                 @Override
17                 public void onClick(View v) {
18                     //返回到上一个界面
19                     finish();
20                 }
21             });
22
23         }
26 }

启动下一个界面,并传递参数给下一个界面,比如发送一个句话

 1 import android.content.Intent;
 2 import android.os.Bundle;
 3 import android.view.View;
 4 import android.view.View.OnClickListener;
 5 import android.widget.Button;
 6 import android.widget.TextView;
 7
 8 public class SecondActivity extends LifeCycleActivity {
 9
10     TextView tv;
11
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_second);
16         tv = (TextView) findViewById(R.id.text);
17
18         //获取意图
19         Intent intent = getIntent();
20         //通过键key获取数据值
21         String data = intent.getStringExtra("msg");
22
23         //显示接收到的数据
24         tv.setText("收到:"+data);
25
26         Button buttonBack = (Button)findViewById(R.id.second_btn_back);
27         buttonBack.setOnClickListener(new OnClickListener() {
28             @Override
29             public void onClick(View v) {
30                 finish();
31             }
32         });
33     }
34
35
36 }

启动下一个界面,选择性别,并将选择结果返回显示在MainActivity中

 1 import android.content.Intent;
 2 import android.os.Bundle;
 3 import android.view.View;
 4 import android.view.View.OnClickListener;
 5 import android.widget.Button;
 6
 7 public class ThirdActivity extends LifeCycleActivity implements OnClickListener{
 8     public static final int MAN_CODE = 1;
 9     public static final int WOMAN_CODE = 2;
10
11     Button man,woman;
12     Intent intent;
13     @Override
14     protected void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.activity_third);
17
18
19         man = (Button) findViewById(R.id.man);
20         man.setOnClickListener(this);
21
22         woman = (Button) findViewById(R.id.woman);
23         woman.setOnClickListener(this);
24
25     }
26
27     @Override
28     public void onClick(View v) {
29         intent = new Intent();
30         switch (v.getId()) {
31         case R.id.man:
32             intent.putExtra("sex_result", "男");
33
34             setResult(MAN_CODE, intent);
35             finish();
36             break;
37         case R.id.woman:
38             intent.putExtra("sex_result", "女");
39             setResult(WOMAN_CODE, intent);
40             finish();
41             break;
42         default:
43         }
44     }
45 }

//启动下一个界面,输入身高,并将结果返回显示在MainActivity中

 1 import android.content.Intent;
 2 import android.os.Bundle;
 3 import android.view.View;
 4 import android.view.View.OnClickListener;
 5 import android.widget.Button;
 6 import android.widget.EditText;
 7
 8 public class FourActivity extends LifeCycleActivity implements OnClickListener{
 9     Button submit,cancel;
10     EditText et;
11     @Override
12     protected void onCreate(Bundle savedInstanceState) {
13         super.onCreate(savedInstanceState);
14         setContentView(R.layout.activity_four);
15
16         submit = (Button) findViewById(R.id.four_submit);
17         cancel = (Button) findViewById(R.id.four_cancel);
18         et = (EditText) findViewById(R.id.four_edit);
19
20         submit.setOnClickListener(this);
21         cancel.setOnClickListener(this);
22     }
23
24     public static final int SUBMIT = 1;
25     public static final int CANCEL = 2;
26     @Override
27     public void onClick(View v) {
28         Intent intent = new Intent();
29         switch (v.getId()) {
30         case R.id.four_submit:
31             int height = Integer.parseInt(et.getText().toString());
32             intent.putExtra("height", height);
33             setResult(SUBMIT, intent);
34             finish();
35             break;
36         case R.id.four_cancel:
37             setResult(CANCEL);
38             finish();
39             break;
40         default:
41             break;
42         }
43
44     }
45 }
时间: 2025-01-15 04:24:03

Android Activity Intent的相关文章

Android Activity学习

1.在一个Activity中启动另外一个Activity(显示Intent使用) Button button = (Button) findViewById(R.id.startActivity); button.setOnClickListener(new View.OnClickListener() {     @Override     public void onClick(View view) {         Intent i = new Intent(MainActivity.t

Android总结篇系列:Activity Intent Flags及Task相关属性

同上文一样,本文主要引用自网上现有博文,并加上一些自己的理解,在此感谢原作者. 原文地址: http://blog.csdn.net/liuhe688/article/details/6761337 -------------------------------------------------------------------------- 今天我们来讲一下Activity的task相关内容. 上次我们讲到Activity的四种启动模式的时候,已经了解到一些关于task的技术,今天我再向大

Android学习笔记-Activity&Intent

界面activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="matc

Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。

Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags(); 一.Android Activity 四种启动模式 lunchMode 在Manifest 配置文件中的属性如下: (1) android:launchMode="standard" (2)android:launchMode="singleTop" (3)android:launchMode="singleTask" (4)andro

Android之Intent和Activity

Intent能够说是Android的灵魂,程序跳转和传递数据的时候基本上就是靠Intent了.Intent在Android应用中是相当重要的,理解Intent相应用编程非常有帮助.在Android的官方API文档里边对Intent是这样定义的:An Intent is an abstract description of an operation to be performed.一个Intent就是一次对将要运行的操作的抽象描写叙述(真实够抽象的). 详细有一下3种形式: 1.通过startAc

Android Activity和Intent

Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态). 对于Activity,关键是其生命周期的把握(如下图),其次就是状态的保存和恢复(onSaveInstanceState onR

Android Activity和Intent机制学习笔记

Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态). 对于Activity,关键是其生命周期的把握(如下图),其次就是状态的保存和恢复(onSaveInstanceState onR

Android——Activity和Intent

一,关于Intent 先看看一个Intent包含啥: 1,Component name:决定启动哪一个组件 2,action:activity应该做哪些动作 3,data:一个activity向另外一个activity传递的数据 4,category: 5,extras:键值对 6,flags 跟.net里面的httprequest对比,感觉还是蛮像的,好巧啊. 二,在一个Activity中启动另外一个Activity 首先我们创建两个Activity,在启动时进入的Activity中加入一个按

【转】Android Activity和Intent机制学习笔记----不错

原文网址:http://www.cnblogs.com/feisky/archive/2010/01/16/1649081.html Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态