Android OnClickListener 多个视图? [复制]
Posted
技术标签:
【中文标题】Android OnClickListener 多个视图? [复制]【英文标题】:Android OnClickListener multiple views? [duplicate] 【发布时间】:2016-09-15 10:50:10 【问题描述】:OnClickListener
最佳实践?
如果您有一个 Activity
和 10 个按钮,那么最佳实践是应该为每个 View
(Button
) 创建 OnClickListener
还是创建单个 onClickListener
更好?只需使用带有视图 ID 的switch
来确定点击的View
?
【问题讨论】:
您可以将相同的单击事件处理程序分配给布局中的多个视图。然后在方法中,检查 which 是触发事件的 View。 你可以选择第二个选项(1 个监听器和开关) 如果可能的话,不要投票指导其他人 【参考方案1】:@Override
public void onClick(View v)
switch (v.getId())
case R.id.btn_1:
//Logic_1
break;
case R.id.btn_2:
//Logic_2
break;
【讨论】:
【参考方案2】:我知道你知道代码,所以我只能说:
Switch 更好 case 或 switch 语句被认为更易于阅读和维护
缩进级别比 if 更容易管理。
【讨论】:
这可能是唯一的答案,我知道代码并且没有要求示例,而只是在实践中什么是更好的选择。感谢您的一些实际建议! 我很乐意为您提供帮助。谢谢。【参考方案3】:如果你在 Google 或 *** 中搜索一下..
Multiple Buttons `OnClickListener()` android
最好的解决方案是切换:
@Override
public void onClick(View v)
switch (v.getId())
case R.id.oneButton:
// do your code
break;
case R.id.twoButton:
// do your code
break;
case R.id.threeButton:
// do your code
break;
default:
break;
【讨论】:
【参考方案4】:你可以使用任何你喜欢使用的东西,因为作为计算点两者都是相同的,但是如果你想对你的代码行进行排序,那么使用带有 switch case 的信号
参考见这个 Multiple Buttons `OnClickListener()` android
【讨论】:
它们不一样,每一个新的点击监听器都是activity内部一个新的不同的内部类 请看programmers.stackexchange.com/questions/110106/…as computational point both are same
这是错误的以上是关于Android OnClickListener 多个视图? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Android OnClickListener 多个视图? [复制]