第一种事件监听方式有局限性,适合页面上事件功能独立性强的情况。第二种其实从代码可读性上要比第一种强,而且后续的可扩展性也强,事件的实现可以写到一个独立的类里面,如果需要区分具体的控件运行个性代码可在事件里面再写逻辑,其他的地方可以与其他控件共同享有公用的功能代码,代码重复利用性很强
2015-08-16
我觉得这样设计一个计算器是不合理的:
1:界面布局在多种分辨率差异大的手机上是显示不一的,这种设计是不合理的,应该嵌套使用Tablelayout布局键盘按钮
2:运算的话这个只能是简单算一下1+1之类的,只能算两个数之间的运算,计算器要实现的是多个操作数的运算,同时需要分析运算符的优先级
3:老师说的为操作空啊的运算,应该在用户输入的时候检测并排除,不如说输入运算符的时候,前面必须有操作数;用户输入小数的话,小数点按钮必须检测一个操作数里面不可存在多个小数点......等等问题
所以我觉得这个案例不好
1:界面布局在多种分辨率差异大的手机上是显示不一的,这种设计是不合理的,应该嵌套使用Tablelayout布局键盘按钮
2:运算的话这个只能是简单算一下1+1之类的,只能算两个数之间的运算,计算器要实现的是多个操作数的运算,同时需要分析运算符的优先级
3:老师说的为操作空啊的运算,应该在用户输入的时候检测并排除,不如说输入运算符的时候,前面必须有操作数;用户输入小数的话,小数点按钮必须检测一个操作数里面不可存在多个小数点......等等问题
所以我觉得这个案例不好
2015-08-16
给最后两行布局没看懂的同学:
<LinearLayout>//方向是horizontal,包着一个LinearLayout和一个按钮
<LinearLayout>方向是vertical包着一个LinearLayout
<LinearLayout>//这是最后两行的第一行(包含按钮123)
</LinearLayout>
<LinearLayout>//这是最后两行的第二行(包含按钮0和.)
</LinearLayout>
</LinearLayout>
<Button/>//等号
</LinearLayout>
<LinearLayout>//方向是horizontal,包着一个LinearLayout和一个按钮
<LinearLayout>方向是vertical包着一个LinearLayout
<LinearLayout>//这是最后两行的第一行(包含按钮123)
</LinearLayout>
<LinearLayout>//这是最后两行的第二行(包含按钮0和.)
</LinearLayout>
</LinearLayout>
<Button/>//等号
</LinearLayout>
2015-08-16