一、在xml 中设置按键的onClick 绑定的函数
新建一个工程
然后在相关的页面添加一个Button
运行一下
实际上,现在这个按键一,我们去运行的时候,他是没有任何的反馈的,我们按完它,他没有任何的反馈,那我如何才能让他出现一些反馈呢?
我们用 android:onClick="buttonBeCliecked"
我们设置了这个函数,这个函数是java 写的 ,当按键被按下的时候,就会调用java里面的 buttonBeCliecked 这个函数,那么调用哪个java文件呢? MainActivity.java
因为MainActivity.java 在 setContentView这面去跟 activity_main 产生关联
也就是说.xml文件绑定的所有函数都在.java文件里面去找
这段没什么用
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
就先删掉
你要找的话,你要去实现 buttonBeCliecked 这个函数
这个函数需要一个权限 public
,public的目的是扩大这个函数 buttonBeCliecked 的可见度
我们涉及到函数的分装,权限这一块
然后他需要一个参数View v,这就是它整个参数的原型
view V不认识,按下ctrl +shirt + o
这样我们就可以当用户按下这个按键的时候,去调这个函数 public void buttonBeCliecked(View v)
但这个函数我们什么都没做
那我们给他加一句 System.out.println("button1 clicked");
运行一下
我们按一下button1,他会显示 button1 clicked ,但是我们在哪里看呢?
看这个log Cat,logCat 这边会显示非常多的安卓模拟器的信息
如果消息过多的话,我不想看,就可做一个过滤,
,没看到任何的过滤,说明这个过滤器有时候没那么好用
这面还可以选择,你是要看整个操作系统的,还是这个包里面的
那比如我们现在又有一个按键,(拖个按键进来)
改一下名字
我的按键二也可以指定一个onClick事件,当按键二被按下的时候,我也可以同样调用
public void buttonBeCliecked(View v) 这个函数
运行一下
无论我按,按键一,还是按键二 ,他都显示 button1 clicked
那我如何区分是 一 还是 二 被按下呢?
我们用 System.out.println(v.getId()); 看看两个按键的id