强强笔记之安卓几种button点击事件
2017-01-11 12:57
417 查看
button点击事件应该是android最为基础的东西,因为几乎每个程序都要用到按钮,而按钮按钮,顾名思义就是要被点击嘛。。记得在刚学android的时候看到其他人的代码,发现他们对于点击事件都有自己的喜好的写法,因此本文总结了几种常用的响应方法。
首先真机演示图示为
以下每种方法效果都如图所示
匿名内部类法:
xml代码:
java代码:
自定义监听类:
这种写法一般是在有多个button要点击,学过c语言或者java都知道switch的基本用法,在这里就不多说了,相信大家都能看得懂。需要强调的几点是:一定要继承
可以看到里面只有一个抽象方法,根据接口的定义,我们要实现这个方法,否则会报错。
第二点就是我们要声明可点击事件,即
最后一种写法是本人最喜欢的
首先看下xml代码:
可以发现多了
我们在看下java代码:
可以发现之前那段声明代码在MainActivity中不见了,这也对应了上面的xml文件。
如果有同学发现更多的写法,欢迎来联系我
首先真机演示图示为
以下每种方法效果都如图所示
匿名内部类法:
xml代码:
<Button android:text="Button点击事件测试" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn" />
java代码:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn= (Button) findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"被点击啦",Toast.LENGTH_SHORT).show(); } }); } }
自定义监听类:
public class MainActivity extends Activity implements View.OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn= (Button) findViewById(R.id.btn); btn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn:Toast.makeText(MainActivity.this,"被点击啦",Toast.LENGTH_SHORT).show(); } } }
这种写法一般是在有多个button要点击,学过c语言或者java都知道switch的基本用法,在这里就不多说了,相信大家都能看得懂。需要强调的几点是:一定要继承
View.OnClickListener这个接口,我们可以看下这个接口的源码:
public interface OnClickListener { /** * Called when a view has been clicked. * * @param v The view that was clicked. */ void onClick(View v); }
可以看到里面只有一个抽象方法,根据接口的定义,我们要实现这个方法,否则会报错。
第二点就是我们要声明可点击事件,即
btn.setOnClickListener(this);这行代码,点进去看源码可知这是设置按钮为可点击的,在看完所有点击事件的写法可以发现,设置按钮为可点击的是一个必需步骤,所以在以后写的时候就要注意了。
最后一种写法是本人最喜欢的
首先看下xml代码:
<Button android:text="Button点击事件测试" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn" android:onClick="touchMe" />
可以发现多了
android:onClick="touchMe"这一行代码,也就是直接在xml文件中声明按钮可点击
我们在看下java代码:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void touchMe(View view){ Toast.makeText(MainActivity.this,"被点击啦",Toast.LENGTH_SHORT).show(); } }
可以发现之前那段声明代码在MainActivity中不见了,这也对应了上面的xml文件。
如果有同学发现更多的写法,欢迎来联系我
相关文章推荐
- Android笔记——Button点击事件几种写法
- Android - VGA,ADB,DDMS,安卓开发环境目录结构,安卓目录结构,常见布局,点击事件的几种写法,控件(Button/TextView/ImageView/EditText)
- 安卓笔记android中控件点击事件实现的几种方式
- Android笔记——Button点击事件的几种写法
- Android笔记——Button点击事件几种写法
- Android-学习笔记之 Button实现点击事件的几种方式
- (转)Android笔记——Button点击事件几种写法
- Android笔记——Button点击事件几种写法
- Android Button响应点击事件的几种方法大合集
- Android中Button的几种点击事件写法
- [Android新手学习笔记02]-如何创建Button并实现点击事件
- Button按钮的几种点击事件的写法
- 安卓实战中防止Button的频繁点击多次执行点击事件和点击切换文字
- Android学习-----Button点击事件几种写法
- Android笔记2—处理点击事件的几种方法
- 安卓Button按钮的四种点击事件
- Android中几种Button点击事件的不同写法
- 安卓开发之Button事件监听的几种类型
- 安卓笔记1:点击监听事件的实现
- 安卓实战中防止Button的频繁点击多次执行点击事件和点击切换文字