java源码如下:

1、MainActivity.java源码

 package com.example.responsetest;
import android.app.Activity;
import android.content.Intent;
import android.content.Loader.ForceLoadContentObserver;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView; //方法六:通用场景,特别是某个控件的点击方法需要实现的逻辑较为复杂的时候
public class MainActivity extends Activity{
TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview=(TextView)findViewById(R.id.textview);//1.初始化值
}
public void onTextViewClick(View view) { //2.传入形参
//跳转页面
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent); //textview.setTextColor(Color.GREEN);//点击变色
}
} /*
//方法五:适用于不同类型的控件,使需要实现的功能在一个onClick()方法中实现
public class MainActivity extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1=(Button)findViewById(R.id.button1);
Button button2=(Button)findViewById(R.id.button2);
ImageButton button3=(ImageButton)findViewById(R.id.imagebutton);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
} @Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.button1:
case R.id.button2:
case R.id.imagebutton:
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
break;
default:
break;
}
}
}
*/ /*
//方法四:与方法三差别不大:
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1=(Button)findViewById(R.id.button1);
Button button2=(Button)findViewById(R.id.button2);
button1.setOnClickListener(new MyOnClick());
button2.setOnClickListener(new MyOnClick());
}
private class MyOnClick implements OnClickListener{
@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.button1:
case R.id.button2:
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
break;
default:
break;
}
}
}
}
*/
/*
//方法三:适用于多个同类型的控件(比如Button)等
public class MainActivity extends Activity{
Button[] buttons;//定义一个Button数组,封装多个同类型的Button控件(成员变量有默认的初始值)
//初始化函数
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttons=new Button[]{(Button)findViewById(R.id.button1),(Button)findViewById(R.id.button2)};
for(Button button:buttons) {
button.setOnClickListener(listener);
}}
//成员变量:
private OnClickListener listener=new OnClickListener() {
@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.button1:
case R.id.button2:
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
break;
default:
break;
}}};
}
*/ /* public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=(Button)findViewById(R.id.button2);
button.setOnClickListener(new MyOnclickListener());
}
//事件响应方法二:定义内部类实现监听接口
public class MyOnclickListener implements OnClickListener{
@Override
public void onClick(View arg0) {
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
}
}
} */
/*
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //事件响应方法一:使用匿名内部类,适用于任何场景
findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
}
});;
}
}
*/

2、SecondActivity.java源码

 package com.example.responsetest;

 import android.app.Activity;
import android.os.Bundle; public class SecondActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
}

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代码的执行入口

Android学习之六种事件响应方法汇总的更多相关文章

  1. java事件响应方法汇总(容器类监听、监听器类、AbstractAction、反射)

    Java图形用户界面中,处理事件时所必须的步骤是: 1.创建接受响应的组件(控件)2.实现相关事件监听接口3.注册事件源的动作监听器4.事件触发时的事件处理 相应的可以通过以下的集中方式来作出事件响应 ...

  2. android view、viewgroup 事件响应拦截处理机制

    文章中会用到部分网络资源,首先将原作者的链接附上. 但是还是会附上数量较大的关于此部分内容的自己的思考. ----------------------------------------------- ...

  3. Android开发之常见事件响应方式

    常见的事件有   (1)单击事件 onClickListener (2)长按事件 onLongClickListener (3)滑动事件 onTouchListener (4)键盘事件 onKeyLi ...

  4. Android学习之触点事件的处理

    知识点: 1. Android开发中的运动事件:触摸屏(TouchScreen)和滚动球(TrackBall) 2.对运动事件的处理:MotionEvent 3.触摸时必发的三个MotionEvent ...

  5. C#中Form的Paint事件响应方法与重载虚方法OnPaint()的区别

    Form_Paint()方法是Paint事件的响应方法,OnPaint是可重载的虚方法,OnPaint方法是调用Paint事件的,用哪一个,效果是一样,就看那一个方便了内部是这样实现的: protec ...

  6. Android开发之Button事件实现方法的总结

    下面介绍Button事件实现的两种方法 main.xml <?xml version="1.0" encoding="utf-8"?> <Li ...

  7. Android学习笔记触摸事件

    案例代码: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Relativ ...

  8. Android学习笔记--JNI的使用方法

    1.JNI是什么 JNI是Java Native Interface的缩写,它提供若干的API实现Java与其他语言之间的通信.而Android Framework由基于Java语言的的Java层与基 ...

  9. Android学习之键盘事件

    java代码: package com.example.keyboardtest; import android.app.Activity; import android.os.Bundle; imp ...

随机推荐

  1. Jni OnLoad()和OnUnload()

    除了前面说的自定义JNI函数之外,JNI还提供了两个特殊函数,它们是JNI_OnLoad()和JNI_OnUnload(),分别在加载库和卸载库的时候调用. 1.JNI_OnLoad() Java调用 ...

  2. .Net Core(完) 创建Docker镜像

    使用Docker可以在操作系统上分出多个独立的区域(容器/Container),各个容器之间基本隔离,且可以有自己单独的系统配置.软件等,各个容器之间的软件基本不会互相干扰.Docker上配置好的容器 ...

  3. 自己搭建git 代码服务器

    使用git服务器的工程师都需要生成一个ssh的公钥 ~/.ssh$ ssh-keygen Generating public/private rsa key pair. …………………… ……………… ...

  4. mybatis学习系列三(部分)

    1 forearch_oracle下批量保存(47) oracle批量插入 不支持values(),(),()方式 1.多个insert放在begin-end里面 begin insert into ...

  5. 03-openldap服务端安装配置

    openldap服务端安装配置 阅读目录 基础环境准备 安装openldap服务端 初始化openldap配置 启动OpenLDAP 重新生成配置文件信息 规划OpenLDAP目录树组织架构 使用GU ...

  6. CENTOS7 SYSTEMD SERVICE 将自己的程序放入自动启动的系统服务

    1. 进入文件夹cd /usr/lib/systemd/system 2. 创建文件somed.service 3. 输入内容.如果是监控类程序,需要输入Type=forking[Unit]Descr ...

  7. javascript避免dom事件重复触发

    /** * 为指定控件添加限制性事件, 该事件在触发之后, 会被移除, 并在指定的时间间隔后, 重新绑定, 适用于避免控件事件被误操作重复触发的场景 * @param {String} domID 要 ...

  8. Centos 下添加开机自启动服务和脚本

    最近刚玩Centos7的系统,跟Centos6还是很多方面有改变的,这里记录一下怎么在Centos7下添加开机自启动脚本和服务的方法. 1.添加开机自启服务 我这里以docker 服务为例,设置如下两 ...

  9. Chrome 如何让光标快速定位到地址栏-进行搜索

    我们经常花费大量的时间来进行使用浏览器搜索网页,如何进行高效的搜索,需要掌握一些快捷键: Windows: Ctrl + L 或 Alt + D 或 F6 Mac: Command + L Linux ...

  10. python 计时累积超过24小时时继续往上累加

    最近在做一个工具,要求在工具上面加上程序运行的时间,所以做了个计时器 在网上找了很多发现都是24小时制的,超过24小时后就会回0 然后自己根据24小时制修改了一个不停累加时间的 若是想超过24小时后以 ...