Android一个页面中有多个按钮只有一个onclick函数怎么办

如有错误欢迎指正

        我们为按钮绑定点击事件的时候都是在java文件中的onClick()函数中写要执行的代码,但是如果有多个按钮,那只有一个onclick函数,它怎么知道是哪个按钮被点击了呢        

        其实我们可以为不同的按钮创建不同名字的点击函数,比如跳转按钮,在xml代码中加上一行android:onClick="transfer"

但是会报警告,点击提示suppress:add tools:ignore:onclick,强行消除警告。

末尾会自动加上一行tools:xxxx,不知道什么意思。

         点击提示,编辑器会自动帮你在java代码中创建一个响应函数

 

在transfer函数中写代码跳转另一个activity

 运行,结果按钮没反应。我不知道是不是跳转代码写的有问题,我就加了一行设置text的代码试一下按钮有没有监听到

 再点击按钮发现还是没反应,我意识到,按钮没有监听到点击事件,为什么会这样。

我找到上文中的代码,将setonclicklistener注释掉

 再次运行,按钮就有反应了。

想了一下原理,明白了。这里的参数“this”,指的是这个类,那这个按钮就绑定了这个类里面的onclick函数,所以我们点击的时候没反应。

        按照之前设置的按钮的用法,我试了一下transfer按钮,发现和第一个按钮的功能一致,它就是执行了onclick函数。。。

其实我们还有另一种方法可以给多个按钮添加监听

 在setonclicklistener的时候直接new一个函数,每个按钮都可以用onclick这个名字,但是其中的代码不一样。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
订餐系统是一个非常实用的应用,如何使用Android Studio完成一个登录注册页面的订餐系统? 首先,在Android Studio中创建一个新的项目。我们需要创建一个具有注册、登录和订餐选项的界面。为此,我们需要在布局中创建三个Fragment,分别为RegisterFragment、LoginFragment和OrderFragment。 对于这三个Fragment,我们可以使用标准的布局组件来实现。一般情况下,我们可以使用EditText组件来实现输入框,Button组件来实现注册或登录按钮,以及ImageView或TextView组件来实现Logo或标题。 在此基础上,我们需要为这些组件实现相应的事件处理程序。例如,我们可以在LoginFragment中使用OnClick函数为登录按钮添加点击事件,输入用户名和密码后使用post方法向服务器发起登录请求。相应地,在RegisterFragment中,我们可以在OnClick函数中实现注册新用户的请求。 一旦用户登录成功后,我们将导航到OrderFragment页面。在此页面中,我们可以显示所有的可用菜单,并为用户提供预订选项。用户可以选择他们喜欢的项目,指定数量和其他特殊要求,然后点击“确认订单”按钮。在确认订单后,我们将向服务器发送订单信息,并显示相应的确认信息。 在Android Studio中创建一个订餐系统是一个有意思的项目,它有很多挑战。但是,如果您能够靠自己完成这个项目,您将通晓许多Android Studio内部运作的细节,这对于未来的Android应用开发会非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好人不心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值