【android乱七八糟】关于OnClickListener事件中加switch语句讨论

简介:  是这样的,我从A这个activity中转到B这个activity中同时根据A中的点击事件传递一个相应参数key过去。 在B这个activity中取出key值。


 

是这样的,我从A这个activity中转到B这个activity中同时根据A中的点击事件传递一个相应参数key过去。

 

在B这个activity中取出key值。

 

然后B这个activity对应的界面中有一个按钮,这个按钮要添加一个事件,

 

处理B中按钮事件的时候要根据参数key的值调用不同的处理方法。

 

于是,我就在B这个activity中写了一个事件监听器,由于key可能值比较多,所以我在监听器里面加了一个switch语句来根据不同的key调用不同的函数。

 


 


 

 

Having separate anonymous OnClickListener for each Button is taking up more memory. Casting View to Button is unnecessary. Using if-else when switch is possible is slower and harder to read. In Android's source you can often notice comparing the references by if-else:

大概意思就是说用if else来代替switch

 

这里外国人还提到,switch会运行的比if else慢并且难以阅读?不知道是以前c语言基础没学好还是什么的、、不过我记得老师是说的用switch是为了使结构更清晰和容易阅读

啊(苍天,what's wrong?)

 

再往后面看,我觉得我的key的可能值实在太多了点,用if else实在臃肿。于是后面有个man给出了这样的解决方法。

 

Or you can try the same but without listeners:

on your Button xml definition:

android:onClick="ButtonOnClick" 

And in your code define the method ButtonOnClick:

public void ButtonOnClick(View v) { 
    switch (key{ 
      case xx: 
        doSomething1(); 
        break; 
      case xx: 
        doSomething2(); 
        break; 
......
      }    
} 
 

 
	

 

相关文章
|
XML Java Android开发
Android Studio App开发之捕获屏幕的变更事件实战(包括竖屏与横屏切换,回到桌面与切换到任务列表)
Android Studio App开发之捕获屏幕的变更事件实战(包括竖屏与横屏切换,回到桌面与切换到任务列表)
557 0
|
Android开发
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
Android面试高频知识点(1) 图解 Android 事件分发机制
206 1
|
Android开发
Android 事件分发机制详细解读
Android 事件分发机制详细解读
266 5
|
XML 前端开发 Android开发
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。
579 9
|
图形学 Android开发
小功能⭐️Unity调用Android常用事件
小功能⭐️Unity调用Android常用事件
|
开发工具 Android开发
Android项目架构设计问题之组件A通知组件B某个事件的发生如何解决
Android项目架构设计问题之组件A通知组件B某个事件的发生如何解决
162 0
|
XML Android开发 数据格式
37. 【Android教程】基于监听的事件处理机制
37. 【Android教程】基于监听的事件处理机制
342 2
|
Java Android开发 开发者
17. 【Android教程】开关控件ToggleButton/Switch
17. 【Android教程】开关控件ToggleButton/Switch
771 2

热门文章

最新文章