1、新创建一个类
2、使用内部类
3、当多个button按钮时,为简化代码而创建的实例listener
//第一种方式
class ButtonClick implements OnClickListener
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//Toast消息不能用在此处
System.out.println("第一种触发按钮Button方式");
}
}
main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:text="方式1"
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
<Button
android:text="方式2"
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
<Button
android:text="方式3"
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
MainActivity.Java 文件
package com.android.study;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
private Button btn1;
private Button btn2;
private Button btn3;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1=(Button)findViewById(R.id.btn1);
btn1.setOnClickListener(new ButtonClick()); //给Button注册一个事件
//第二种方式
btn2=(Button)findViewById(R.id.btn2);
btn2.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(MainActivity.this, "第二种触发按钮Button方式",Toast.LENGTH_LONG).show();
System.out.println("第二种触发按钮Button方式");
}
});//内部匿名类,实现了接口的对象
btn3=(Button)findViewById(R.id.btn3);
btn3.setOnClickListener(listener);
}
//第三种方式
private OnClickListener listener=new OnClickListener()
{
public void onClick(View v){
switch(v.getId())
{
case R.id.btn1:
break;
case R.id.btn2:
break;
case R.id.btn3:
Toast.makeText(MainActivity.this, "第三种触发按钮Button方式",Toast.LENGTH_LONG).show();
System.out.println("第三种触发按钮Button方式");
break;
}
}
};
}
分享到:
相关推荐
继续上次的,我们接下来要学习另外两种方式,三:Activity实现onClickListener接口;四:其他类实现onClickListener接口。 三:Activity实现onClickListener接口 1.直接在Activity上添加 public class ...
android 手势左右与按钮混合触发滑动效果
Button按钮所触发的事件处理,我们称之为Event Handle,只不过在Android当中,按钮事件是由系统的Button.OnClickListener所控制,熟悉Java程序设计的读者对OnXxxListener应该不陌生.以下的Demo,我们将实现当点击Button时...
1、掌握在Android中如何建立Button 2、掌握Button的常用属性 3、掌握Button按钮的点击事件(监听器) Button是各种UI中最常用的控件之一,它同样也是Android开发中最受欢迎的控件之一,用户可以通过触摸它来触发一...
本文实例讲述了Android编程之Button控件用法。分享给大家供大家参考,具体如下: 一、Button概述 android.widget.Button直接继承于android.wdiget.TextView. 直接子类有:CompoundButton. 间接子类有:CheckBox,...
import android.app.Activity;... import android.widget.Button; public class GetScreenActivity extends Activity { private Button firstBtn = null; private Button secBtn = null; @Override
单击拍照 button ,执行该函数 getPhoto() ,窗体执行的函数 funcSubmit() ng-submit 自动。 什么会需要更改,以防止这种情况发生?它执行的功能只有 getPhoto() 而无需运行 ng-submit 的形式。 Ps.: 这段代码是...
使用BaseAdapter自定义适配器,采用了回收converView和ViewHolder优化代码,并且解决了在ListView中使用Button时,ListView的itemClick不能被触发的问题。
按钮插件(Button)学习笔记: 按钮插件 样式文件: :ballot_box_with_check: LESS版本:源文件buttons.less :ballot_box_with_check: 点击按钮时,按钮文字变为“正在加载…”,一旦加载完之后又变回“获取数据”...
嵌入式Android项目设计与开发 第二章 Android调试基础 —— 安卓的按钮 按钮 Button(按钮)是安卓应用程序中最常用的控件,也是安卓学习很必要的工具。 按钮 按钮事件的回调函数可以由用户编辑,当用户点击按钮时,...
SlidingDemo手势滑动特效,android 手势与按钮混合触发的滑动特效,本布局移动参考了SlidingDrawer,在本类中可设置:每次移动的时间间隔,20ms,当前时间,是SystemClock的时间,当前的位置,后面的布局是否已经...
listview 上有两个按钮 一个编辑文本 一个按钮为加 一个为减 编辑文本为只读 触发按钮事件 文本相应变化
首先我们简单介绍一下,事件的处理流程,首先是用事件监听器去监听事件源,当外动作触发事件源之后,会生成事件,事件监听器会获取事件,然后通过事件处理器对事件进行处理。 按钮的id为名称为button的按
最近因为项目中用到类似一个LinearLayout中水平布局中,有一个TextView和Button,然后对该LinearLayout布局设置点击事件,点击TextView能够触发该点击事件,然而奇怪的是点击Button却不能触发。然后google到了解决...
如果不使用该控件,我们也可以在,比如按钮外面在加个布局,如RelativeLayout、LinearLayout, 但是这样必须把事件绑定到容器上,而不是按钮上。项目地址:https://github.com/lnikkila/ExtendedTouchView 效果图:...
� 由于采用了 Java 作为应用开发语言,目前可用的传统第三方应用还很少,但由于 Android 是一款完全 开 源的移动计算平台,相信第三方应用会很快的丰富起来。 � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的...
前几天,公司一同事让我帮忙解决用DrawerLayout时,DrawerLayout的侧边栏有种像...侧边栏不能自动关闭,另外还要有常用的可以滑动侧边栏关闭侧边栏,点击侧边栏的item要能够触发相应的事件的效果,于是就有了以下的博客
点击取消按钮 (1)运行结果截图 (2)执行代码 简单列表对话框 (1)运行结果截图 (2)执行代码 单选列表对话框 (1)运行结果截图 ...import android.app.Activity;...import android.app....import android.
MaterialProgressButton波纹表示目前进度的ProgressBar组件样式像是一个按钮,按下后触发onStart并产生波纹,当波纹波及整个按钮后,触发onFinish,可以用作登录或下载等涉及到进度的按钮可以通过xml 或者代码控制...
仔细想想AlertDialog的使用场景, 它并不像TextView和Button那些控件似的一般都是固定在界面上,而是在某个时机才会触发出来(比如用户点击了某个按钮或者断网了)。 警告对话框 1.首先需要创建一个AlertDialog....