java源码如下:
1、MainActivity.java源码
1 package com.example.responsetest;
2 import android.app.Activity;
3 import android.content.Intent;
4 import android.content.Loader.ForceLoadContentObserver;
5 import android.graphics.Color;
6 import android.os.Bundle;
7 import android.view.Menu;
8 import android.view.MenuItem;
9 import android.view.View;
10 import android.view.View.OnClickListener;
11 import android.widget.Button;
12 import android.widget.ImageButton;
13 import android.widget.TextView;
14
15 //方法六:通用场景,特别是某个控件的点击方法需要实现的逻辑较为复杂的时候
16 public class MainActivity extends Activity{
17 TextView textview;
18 @Override
19 protected void onCreate(Bundle savedInstanceState) {
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.activity_main);
22 textview=(TextView)findViewById(R.id.textview);//1.初始化值
23 }
24 public void onTextViewClick(View view) { //2.传入形参
25 //跳转页面
26 Intent intent=new Intent(MainActivity.this,SecondActivity.class);
27 startActivity(intent);
28
29 //textview.setTextColor(Color.GREEN);//点击变色
30 }
31 }
32
33
34 /*
35 //方法五:适用于不同类型的控件,使需要实现的功能在一个onClick()方法中实现
36 public class MainActivity extends Activity implements OnClickListener{
37 @Override
38 protected void onCreate(Bundle savedInstanceState) {
39 super.onCreate(savedInstanceState);
40 setContentView(R.layout.activity_main);
41 Button button1=(Button)findViewById(R.id.button1);
42 Button button2=(Button)findViewById(R.id.button2);
43 ImageButton button3=(ImageButton)findViewById(R.id.imagebutton);
44 button1.setOnClickListener(this);
45 button2.setOnClickListener(this);
46 button3.setOnClickListener(this);
47 }
48
49 @Override
50 public void onClick(View arg0) {
51 switch (arg0.getId()) {
52 case R.id.button1:
53 case R.id.button2:
54 case R.id.imagebutton:
55 Intent intent=new Intent(MainActivity.this,SecondActivity.class);
56 startActivity(intent);
57 break;
58 default:
59 break;
60 }
61 }
62 }
63 */
64
65 /*
66 //方法四:与方法三差别不大:
67 public class MainActivity extends Activity{
68 @Override
69 protected void onCreate(Bundle savedInstanceState) {
70 super.onCreate(savedInstanceState);
71 setContentView(R.layout.activity_main);
72 Button button1=(Button)findViewById(R.id.button1);
73 Button button2=(Button)findViewById(R.id.button2);
74 button1.setOnClickListener(new MyOnClick());
75 button2.setOnClickListener(new MyOnClick());
76 }
77 private class MyOnClick implements OnClickListener{
78 @Override
79 public void onClick(View arg0) {
80 switch (arg0.getId()) {
81 case R.id.button1:
82 case R.id.button2:
83 Intent intent=new Intent(MainActivity.this,SecondActivity.class);
84 startActivity(intent);
85 break;
86 default:
87 break;
88 }
89 }
90 }
91 }
92 */
93 /*
94 //方法三:适用于多个同类型的控件(比如Button)等
95 public class MainActivity extends Activity{
96 Button[] buttons;//定义一个Button数组,封装多个同类型的Button控件(成员变量有默认的初始值)
97 //初始化函数
98 @Override
99 protected void onCreate(Bundle savedInstanceState){
100 super.onCreate(savedInstanceState);
101 setContentView(R.layout.activity_main);
102 buttons=new Button[]{(Button)findViewById(R.id.button1),(Button)findViewById(R.id.button2)};
103 for(Button button:buttons) {
104 button.setOnClickListener(listener);
105 }}
106 //成员变量:
107 private OnClickListener listener=new OnClickListener() {
108 @Override
109 public void onClick(View arg0) {
110 switch (arg0.getId()) {
111 case R.id.button1:
112 case R.id.button2:
113 Intent intent=new Intent(MainActivity.this,SecondActivity.class);
114 startActivity(intent);
115 break;
116 default:
117 break;
118 }}};
119 }
120 */
121
122 /*
123
124 public class MainActivity extends Activity {
125 @Override
126 protected void onCreate(Bundle savedInstanceState) {
127 super.onCreate(savedInstanceState);
128 setContentView(R.layout.activity_main);
129 Button button=(Button)findViewById(R.id.button2);
130 button.setOnClickListener(new MyOnclickListener());
131 }
132 //事件响应方法二:定义内部类实现监听接口
133 public class MyOnclickListener implements OnClickListener{
134 @Override
135 public void onClick(View arg0) {
136 Intent intent=new Intent(MainActivity.this,SecondActivity.class);
137 startActivity(intent);
138 }
139 }
140 }
141
142 */
143 /*
144 public class MainActivity extends Activity {
145 @Override
146 protected void onCreate(Bundle savedInstanceState) {
147 super.onCreate(savedInstanceState);
148 setContentView(R.layout.activity_main);
149
150 //事件响应方法一:使用匿名内部类,适用于任何场景
151 findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
152 @Override
153 public void onClick(View v) {
154 Intent intent=new Intent(MainActivity.this,SecondActivity.class);
155 startActivity(intent);
156 }
157 });;
158 }
159 }
160 */
2、SecondActivity.java源码
1 package com.example.responsetest;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5
6 public class SecondActivity extends Activity{
7 @Override
8 protected void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.activity_second);
11 }
12 }
xml代码如下:
1、activity_main.xml代码(第一界面):
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:id="@+id/main_activity"
4 android:layout_width="match_parent"
5 android:layout_height="match_parent"
6 android:orientation="vertical"
7 android:paddingBottom="@dimen/activity_vertical_margin"
8 android:paddingLeft="@dimen/activity_horizontal_margin"
9 android:paddingRight="@dimen/activity_horizontal_margin"
10 android:paddingTop="@dimen/activity_vertical_margin"
11 tools:context="com.example.responsetest.MainActivity" >
12
13 <Button
14 android:id="@+id/button1"
15 android:layout_width="match_parent"
16 android:layout_height="wrap_content"
17 android:text="匿名内部类" />
18
19 <Button
20 android:id="@+id/button2"
21 android:layout_width="match_parent"
22 android:layout_height="wrap_content"
23 android:text="内部类"/>
24 <ImageButton
25 android:id="@+id/imagebutton"
26 android:layout_width="100dip"
27 android:layout_height="100dip"
28 android:scaleType="fitCenter"
29 android:src="@drawable/ic_launcher"
30 />
31 <TextView
32 android:id="@+id/textview"
33 android:layout_width="match_parent"
34 android:layout_height="wrap_content"
35 android:onClick="onTextViewClick"
36 android:text="点击事件"
37 android:textSize="50sp"
38 />
39
40 </LinearLayout>
2、activity_second.xml源码(第二界面):
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:paddingBottom="@dimen/activity_vertical_margin"
6 android:paddingLeft="@dimen/activity_horizontal_margin"
7 android:paddingRight="@dimen/activity_horizontal_margin"
8 android:paddingTop="@dimen/activity_vertical_margin"
9 tools:context="com.example.responsetest.MainActivity" >
10
11 <TextView
12 android:id="@+id/secondactivity"
13 android:layout_width="match_parent"
14 android:layout_height="wrap_content"
15 android:text="欢迎您" />
16
17 </LinearLayout>
3、AndroidManifest.xml源码:
1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.example.responsetest"
4 android:versionCode="1"
5 android:versionName="1.0" >
6
7 <uses-sdk
8 android:minSdkVersion="18"
9 android:targetSdkVersion="22" />
10
11 <application
12 android:allowBackup="true"
13 android:icon="@drawable/ic_launcher"
14 android:label="@string/app_name"
15 android:theme="@style/AppTheme" >
16 <activity
17 android:name=".MainActivity"
18 android:label="@string/app_name" >
19 <intent-filter>
20 <action android:name="android.intent.action.MAIN" />
21
22 <category android:name="android.intent.category.LAUNCHER" />
23 </intent-filter>
24 </activity>
25 <activity
26 android:name="com.example.responsetest.SecondActivity"
27 android:excludeFromRecents="true"
28 android:noHistory="true"/>
29 </application>
30
31 </manifest>
代码分析:
1.两个java类:
MainActivity.java :主类,代码的主要执行者,操作第一界面
SecondActivity.java:跳转后的页面,操作第二界面
2.三个xml文件:
activity_main.xml:布局第一个手机界面
activity_second.xml:布局第二个界面(跳转后的界面)
AndroidManifest.xml:Android代码的执行入口