`
meohao
  • 浏览: 97538 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

写在20111011:checkbox的onClick事件

 
阅读更多
1.进入声音设置,勾选“选择操作音”;
2.勾选文件或文件夹时观察是否有选择操作音;
此时应该会对应的有选择操作音的,但为什么无选择操作音?
<CheckBox
   android:id="@+id/checkbox"
   android:layout_width="wrap_content"   
   android:layout_height="wrap_content"
   android:focusable="false">
</CheckBox> 

    原来SoundManager对于CheckBox的check事件不感冒,只对click事件产生作用,而对于CheckBox有setOnCheckedChangeListener的API,但是没有setOnClickListener,那CheckBox如何响应onClick事件呢?有一个属性可以在XML中可以配置。
CheckBox的API描述是这样的:
1.When the user selects a checkbox, the CheckBox object receives an on-click event.

To define the click event handler for a checkbox, add the android:onClick attribute to the <CheckBox> element in your XML layout. The value for this attribute must be the name of the method you want to call in response to a click event. The Activity hosting the layout must then implement the corresponding method.

2.The method you declare in the android:onClick attribute must have a signature exactly as shown above. Specifically, the method must:

•Be public
•Return void
•Define a View as its only parameter (this will be the View that was clicked)

故此时需要修改配置文件:
<CheckBox
   android:id="@+id/CheckBox"
   android:layout_width="wrap_content"   
   android:layout_height="wrap_content"
   android:focusable="false"
   android:onClick="sound">
</CheckBox> 

然后在加载该控件对应的配置文件的Activity中实现该函数,这里直接为空函数即可,注意这个函数必须是public权限,返回值为void,指定唯一参数View。
public void sound(View view){

}
OK,大功告成!此时勾选就可以听到清脆的勾选声了。

   但是在实际的项目中,由于编译选择的方式可能为user模式,此时user模式对编译进行了优化,该sound函数只是一个空函数,在编译检查的时候发现其未被调用,就直接被优化掉了,在sound函数加一行Log编译不同的user和eng版本,查看是否有Log输出,就可以知道了,那优化掉了,这里点击checkbox此时就会报错,因为找不到该函数。
   解决方法,在编译.mk文件中添加下列语句将优化禁用掉,再编译任何模式的版本就不会有问题了。
   LOCAL_PROGUARD_ENABLED :=disabled
分享到:
评论

相关推荐

    对 Struts 2 的 s: iterator tag 中嵌套的所有 s: checkbox 进行全选、反选操作

    在这个场景中,我们关注的是`s:iterator`标签和`s:checkbox`的使用,它们是Struts 2 中视图层(JSP)的重要组件,用于迭代数据集合并呈现复选框。在Web应用中,用户经常需要进行全选和反选的操作,这通常在管理多个...

    CheckBox(c++builder)

    - `OnClick`:最重要的事件,当用户点击CheckBox时触发,你可以在这里添加处理逻辑,例如更新其他控件的状态或执行相关操作。 4. **使用示例**: 在C++Builder的Form设计器中,可以从工具箱中拖拽一个TCheckBox...

    设置checkbox为只读(readOnly)的两种方式

    方式一: checkbox没有readOnly属性,如果使用disabled=“disabled”属性的话,会让checkbox变成灰色的,用户很反感这种样式可以这样让它保持只读: 设置它的onclick=”return false” js里就是 checkbox.onclick=...

    Delphi Checkbox in StringGrid 使用

    一种优化方法是在 OnDrawGrid 事件中仅创建需要的 Checkbox,并在 OnBeforeDrawCell 或 OnAfterDrawCell 事件中销毁不再需要的。 8. **自定义行为** 你可能还需要实现一些自定义功能,比如全选/全不选功能,或者...

    JS操作CheckBox控件

    接着,通过循环遍历DataGrid的每一项,找到CheckBox控件,并为每行设置唯一的ID,同时为CheckBox添加`onclick`事件处理器,调用之前定义的`checkme`函数。 最后,当程序运行,用户在DataGrid中选择或取消选择...

    c# javascript 操作 checkBox控件

    在编程领域,`CheckBox`控件是用户界面(UI)设计中常见的元素,它允许用户在两种状态之间进行切换:选中(checked)或未选中(unchecked)。在C#和JavaScript这两种不同的语言中,对`CheckBox`的操作方法有所不同,...

    C# WinForm 自定义CheckBox

    在这个框架中,CheckBox控件是经常被用到的一种交互元素,它允许用户通过勾选或取消勾选来表示一种选择状态。本教程将深入讲解如何在WinForms中自定义CheckBox控件,以满足特定的界面或功能需求。 首先,自定义...

    CheckBox是否选中

    在这种情况下,你可以监听所有相关CheckBox的`onChange`事件,检查选中的CheckBox数量,如果不够,则显示错误提示。 六、优化用户体验 为了提供更好的用户体验,应考虑以下几点: - 提供清晰的视觉反馈,让用户清楚...

    通过在GridView中CheckBox多选的批量删除,经典

    后端处理则需要监听GridView的某个事件,比如Button的Click事件,获取到被选中的CheckBox对应的行数据,然后在服务器端进行批量删除操作。这通常涉及到对DataSource的筛选和数据库的SQL操作。例如,使用Linq to ...

    checkbox实现复选框

    6. **Android**:在Android开发中,使用`android.widget.CheckBox`控件,通过设置`OnClickListener`处理点击事件。 ```xml &lt;CheckBox android:id="@+id/checkbox1" android:text="Option 1" /&gt; ``` ```java ...

    安卓CheckBoxDemo

    总结,"安卓CheckBoxDemo"项目涵盖了从基本用法到高级特性的全面实践,通过这个项目,开发者能深入理解如何在Android应用中高效地运用CheckBox,同时掌握与之相关的布局设计、事件处理、数据绑定和性能优化等技能。

    strust2 checkboxlist

    - **事件处理**:可以添加JavaScript事件监听器,如`onclick`,来实现更复杂的交互逻辑。 7. **标签属性详解** - `listKey`:设置每个选项对应的键,用于从列表中获取显示的文本。 - `listValue`:设置每个选项...

    很炫的自定义Checkbox

    4. **事件处理**:自定义Checkbox需要监听用户的触摸事件,通常包括`onClick`事件。在Android中,可以通过实现`OnClickListener`接口来处理,而在iOS中,可以使用`UIButton`的`addTarget(_:action:for:)`方法。 5. ...

    CheckBox为CheckBoxList实现全选或全取消选择(js代码实现)

    &lt;asp:CheckBox ID="CheckBoxAll" runat="server" onClick="javascript:Check_Uncheck_All(this);" /&gt; &lt;asp:CheckBoxList ID="CheckBoxListMusicType" runat="server" RepeatColumns="3" RepeatDirection=...

    Listview区分内容和CheckBox的点击事件(AS工程)

    这可以通过在TextView的onClick事件处理函数中调用`event.stopPropagation()`或者`event.cancel()`来实现,这样点击事件就不会传递到父View(即包含CheckBox的View)。 最后,这个工程可能还包括了对CheckBox选中...

    RecyclerView嵌入CheckBox带来的显示问题的解决办法

    解决这个问题的方法是在CheckBox上设置`android:clickable="false"`或者在代码中设置`checkBox.setClickable(false)`,然后在RecyclerView的Adapter中实现点击事件监听。 ```xml &lt;CheckBox android:id="@+id/...

    在.net中用CheckBoxList实现单选

    首先,我们在ASP.NET页面中创建一个`CheckBoxList`控件,为每个列表项添加一个`onclick`事件,这个事件将触发JavaScript函数。例如: ```html &lt;asp:CheckBoxList ID="CheckBoxList1" BorderWidth="1" runat="server...

    listview中添加CheckBox的完美实现

    在这里,我们将使用一个 trick,即在 ListView 的 onItemClick 事件中,我们将检查当前点击的是 ListView 的子项还是 CheckBox。如果是 ListView 的子项,我们将显示该子项的内容;如果是 CheckBox,我们将改变该 ...

    Treeview中checkbox选择问题

    在这里,向`SampleTreeView`控件添加了一个`onClick`事件处理函数`OnCheckEvent()`,这将在用户点击树中的任何位置时触发。 ```javascript function OnCheckEvent() { var objNode = event.srcElement; if ...

Global site tag (gtag.js) - Google Analytics