Android——文本控件——Button
来源:互联网 发布:淘宝有名的网红店 编辑:程序博客网 时间:2024/06/01 21:27
Button
a.基本信息
继承于TextView,具有其一切属性
b.作用
用于响应用户的点击操作,完成相应的事件
c.用法
在代码中注册监听器View.onClickListener
a.内部类(名字解释:在最外面的MainActivity类中新建Listener类——一个类包含另一个类)
public class MainActivity extends Activty{
//.1.声明控件
private Button btnTest;
@Override
protected void onCreate(Bundle savedInstanceState){
super.oncreate(savedIntanceState);
setContentView(R.layout.activity_main);//加载布局文档
//2.关联控件
btnTest=(Button)findViewById(R.id.button1);//为使用具有普遍性规定finViewByID得到的都是View对象,若赋值需转化成相应类型
//3.代码注册监听
Listener listener=new Listener();
//下面这个是Button类的方法,当Button类的变量对应的按钮被点击时会实现该方法
btnTest.setOnClickListener(Listener//需要开发者传入 实现接口view.onClickListener的类对象所以我们需要自己创建一个类);
}
class Listener implements View.onClickListener{
@override
public void onClick(View v //View类型的形参){
//设置点击后发生的事情
Log.i("Text","被点击了");
}
}
}
//创建Button控件 在onCreate方法中将创建的Button控件和布局中的id关联 为实现这个Button的setOnClickListener(传实现view接口的类)方法让其点击后有反应(原来没有?)
我们自己创一个实现view接口的Listener类 重写view下系统自带类没有的onclick方法 加入点击事件 这样就加入了点击效果 最后setOnClickListener方法可以实现了
换句话说就是建一个Listener类 new出一对象listener 把这个对象传给setOnClickListener方法
setOnClickListener方法负责响应点击去执行listener lsitener负责编辑点击后作的事件
ps:一切的目的都是为了实现setOnClickListener
2.匿名类
目的一样,也是我们要去给setOnClickListener方法传参数
这次我们不创建新类而是把直接new出(形参要求的)对象
//创建新类的过程省略
btn.setOnClcikListener(new View.OnClickListener){
@Override
public void onClick(View v){
log.i("Text",“以匿名类的方式实现点击”)
}
}
3.XML设置android:onClick(原理暂时没明白)
第一步:xml文件中添加
<Button
……(button的基本属性)
android:onClick=“Click”
/>
第二步:java文件回调click方法
在MainActivity类中添加:
public void click(View v){
log.i("Text","以xml的方式完成点击")
}
PS:比较
1.直接setOnClickListener.
如果你的activity中只有少量的三两个按钮 适合使用
2.implement OnClickListener 实现这个接口
这适合多个按钮,比如计算器、虚拟键盘等 使用这个可以减少代码量,直接根据按钮的ID去添加事件
3. 在xml中写onClick
这可以使你的代码很清晰,你可以把所有的按钮事件写在一个文件里面,想用的时候可以在xml文件里直接调用 使代码看上去更有层次感。
三种方式各有利弊,根据情况选择使用。
- Android——文本控件——Button
- Android UI设计——Button控件
- Android UI 设计——Button 控件
- Android UI基础——Button控件
- android控件——Button使用
- android实战——监听TextView文本Button改变状态
- Android——文本类控件
- Win32控件使用——Button控件
- 一步一步学android之基本控件——Button组件
- 一步一步学android控件(之三) —— Button
- android提高——自定义控件(button)
- Android控件——TextView、EditText、ImageView、Button、ImageButton
- 【Android】28、常见控件的使用方法——Button
- Android自定义控件系列(一)—Button七十二变
- Android—常用控件(一)文本控件
- Winform自定义控件—Button(上)
- Winform自定义控件—Button(下)
- Android开发——文本控件——Textview
- ARM TrustZone技术简介 -- 3 (BL31 Secure Monitor简介)
- HDU 5952 Counting Cliques dfs + 思维
- Jzzhu and Cities CodeForces
- require/include/include_once/require_once()的区别
- 分布式集群(MySQL)
- Android——文本控件——Button
- 牧佑--FileBufferDemo----
- SignalR如何搭建SelfHost服务端(C#)
- java实现归并排序
- centos优化
- Qt代码创建分隔条
- 牧佑---bufferReader---
- 超神线段树 山海经
- 线段树2