多个Button添加事件,ID命名是有规则的如num_1 至 num_10

brockpeng 2015-04-24 04:25:05
如题,有没有大神有好的解决办法。

如果每个按钮都用代码指定一下事件,这代码也太不优雅了。
...全文
206 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CNCFOX 2015-04-24
  • 打赏
  • 举报
回复
如果能提高代码的可读性不要怕麻烦。
你可以使用如下方法,不知道是不是你想要的。
1、在Activity类实现implements OnClickListener
2、然后就可以使用button.setOnClickListener(this);这种形式添加监听事件了
3、所有以上方法添加的button的点击事件都可以在public void onClick(View v)方法中进行点击事假处理,如下:
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_tab1:
break;
case R.id.tv_tab2:
break;
case R.id.tv_tab3:
break;
}
}
brockpeng 2015-04-24
  • 打赏
  • 举报
回复
有方法,方法定义了。

public void testOnClick(View v)
	{
		Log.d("debug", "aa");
	}
红客实习 2015-04-24
  • 打赏
  • 举报
回复
引用 2 楼 brockpeng 的回复:
我是在Fragment 布局中放的N多个按钮。 指定android:onClick="testOnClick" 出错啊, 04-24 16:35:30.116: E/AndroidRuntime(2641): java.lang.IllegalStateException: Could not find a method testOnClick(View) in the activity class com.example.myapp.MainActivity for onClick handler on view class android.widget.Button with id 'pad_3'
: Could not find a method testOnClick(View) 缺少方法( ⊙ o ⊙ )啊!
红客实习 2015-04-24
  • 打赏
  • 举报
回复
我看书上也是楼上的那个方法
brockpeng 2015-04-24
  • 打赏
  • 举报
回复
我是在Fragment 布局中放的N多个按钮。 指定android:onClick="testOnClick" 出错啊, 04-24 16:35:30.116: E/AndroidRuntime(2641): java.lang.IllegalStateException: Could not find a method testOnClick(View) in the activity class com.example.myapp.MainActivity for onClick handler on view class android.widget.Button with id 'pad_3'
黄小楼 2015-04-24
  • 打赏
  • 举报
回复
我晕。。 你可以在XML文件那里写上onclick方法啊。之后在activity里面根据ID进行辨别。

80,354

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧