安卓 基于监听接口的事件处理
2015-10-24 23:30
302 查看
OnClickListener 接口,该接口处理的是点击事件,在触控模式下,是在某个View上按下并抬起的组合动作,而在键盘模式下,是在某个View获得焦点后点击确定键或者按下轨迹球事件,接口对应的回调方法签名如下:public void onClick(View v)
下面是一个案列:以及运行截图
(1)首先在string.xml文件中准备字符串资源
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">晚安!英杰妹妹!</string>
<string name="hello">Hello World, Sample_7_4Activity!</string>
<string name="textView01">您没有点击任何按钮</string>
<string name="button01">做一个美梦!</string> <!-- 添加字符串资源 -->
<string name="button02">做两个美梦!</string>
<string name="button03">做三个美梦!</string>
<string name="button04">起床了!</string>
</resources>
(2)在main.xml文件中编写布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/textView01" /> <!-- 向线性布局中加入一个文本控件 -->
<Button
android:id="@+id/button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button01"
/> <!-- 向线性布局中加入一个按钮 -->
<Button
android:id="@+id/button02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button02"
/> <!-- 向线性布局中加入一个按钮 -->
<Button
android:id="@+id/button03"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button03"
/> <!-- 向线性布局中加入一个按钮 -->
<Button
android:id="@+id/button04"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button04"
/> <!-- 向线性布局中加入一个按钮 -->
</LinearLayout>
(3)编写.java文件
package cs.df;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Sample_7_4Activity extends Activity implements OnClickListener{
Button[] buttons = new Button[4];//创建一个按钮数组
TextView textView;//声明文本控件的引用
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//设置当前显示的用户界面
buttons[0] = (Button) this.findViewById(R.id.button01);//得到button01的引用
buttons[1] = (Button) this.findViewById(R.id.button02);
buttons[2] = (Button) this.findViewById(R.id.button03);
buttons[3] = (Button) this.findViewById(R.id.button04);
textView = (TextView) this.findViewById(R.id.textView01);//得到textView01的引用
textView.setTextSize(18);
for(Button button:buttons){//对按钮数组循环
button.setOnClickListener(this);//注册监听
}
}
@Override
public void onClick(View v){
if(v == buttons[0]){
textView.setText("您按下了" + ((Button)v).getText()+",此时是分开处理的!");
}
else{
textView.setText("您按下了" + ((Button)v).getText());//设置文本控件的文字
}
}
}
下面是一个案列:以及运行截图
(1)首先在string.xml文件中准备字符串资源
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">晚安!英杰妹妹!</string>
<string name="hello">Hello World, Sample_7_4Activity!</string>
<string name="textView01">您没有点击任何按钮</string>
<string name="button01">做一个美梦!</string> <!-- 添加字符串资源 -->
<string name="button02">做两个美梦!</string>
<string name="button03">做三个美梦!</string>
<string name="button04">起床了!</string>
</resources>
(2)在main.xml文件中编写布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/textView01" /> <!-- 向线性布局中加入一个文本控件 -->
<Button
android:id="@+id/button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button01"
/> <!-- 向线性布局中加入一个按钮 -->
<Button
android:id="@+id/button02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button02"
/> <!-- 向线性布局中加入一个按钮 -->
<Button
android:id="@+id/button03"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button03"
/> <!-- 向线性布局中加入一个按钮 -->
<Button
android:id="@+id/button04"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button04"
/> <!-- 向线性布局中加入一个按钮 -->
</LinearLayout>
(3)编写.java文件
package cs.df;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Sample_7_4Activity extends Activity implements OnClickListener{
Button[] buttons = new Button[4];//创建一个按钮数组
TextView textView;//声明文本控件的引用
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//设置当前显示的用户界面
buttons[0] = (Button) this.findViewById(R.id.button01);//得到button01的引用
buttons[1] = (Button) this.findViewById(R.id.button02);
buttons[2] = (Button) this.findViewById(R.id.button03);
buttons[3] = (Button) this.findViewById(R.id.button04);
textView = (TextView) this.findViewById(R.id.textView01);//得到textView01的引用
textView.setTextSize(18);
for(Button button:buttons){//对按钮数组循环
button.setOnClickListener(this);//注册监听
}
}
@Override
public void onClick(View v){
if(v == buttons[0]){
textView.setText("您按下了" + ((Button)v).getText()+",此时是分开处理的!");
}
else{
textView.setText("您按下了" + ((Button)v).getText());//设置文本控件的文字
}
}
}
相关文章推荐
- 神奇的pow()函数
- python爬虫的一些心得
- MongoDB服务端JavaScript脚本使用方法
- null unset
- c语言之 函数
- 设计模式-利用职责链模式消除if
- 特性五、Swift日期格式处理
- 回调函数和钩子函数
- SPOJ NSUBSTR Substrings
- C3P0整体类结构简单分析2
- 友盟分享 之新浪分享注意事项
- Linux vmstat
- HYSBZ 2818 (莫比乌斯反演)
- 动手动脑20151024
- 论那些年我们讨论过的Bank系统!
- JavaScript - 运算符 == 与 === 的区别
- Java对象及其引用
- 使用Spinner实现下拉列表
- 《Unix & Linux 大学教程》 - 第一、二章 学习笔记
- 《Unix & Linux 大学教程》 - 第一、二章 学习笔记