RadioGroup动态添加RadioButton,并且获得事件

由于有许多的RadioButton是动态的,不是固定的一些,所以需要在代码中,动态的添加到RadioGroup中,下面是我的实现方法。

1、添加RadioButton到RadioGroup中

[java] 
view plain
copy

  1. RadioGroup group;
  2. for(int i=0; i<10; i++)
  3. {
  4. RadioButton tempButton = new RadioButton(this);
  5. tempButton.setBackgroundResource(R.drawable.xxx);   // 设置RadioButton的背景图片
  6. tempButton.setButtonDrawable(R.drawable.xxx);           // 设置按钮的样式
  7. tempButton.setPadding(80, 0, 0, 0);                 // 设置文字距离按钮四周的距离
  8. tempButton.setText("按钮 " + i);
  9. group.addView(tempButton, LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
  10. }

2、为RadioGroup添加事件处理,可以得到当前选择的RadioButton

[java] 
view plain
copy

  1. group.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  2. @Override
  3. public void onCheckedChanged(RadioGroup group, int checkedId) {
  4. // TODO Auto-generated method stub
  5. RadioButton tempButton = (RadioButton)findViewById(checkedId); // 通过RadioGroup的findViewById方法,找到ID为checkedID的RadioButton
  6. // 以下就可以对这个RadioButton进行处理了
  7. }
  8. });
时间: 2024-10-10 19:14:54

RadioGroup动态添加RadioButton,并且获得事件的相关文章

动态添加RadioButton并切换Fragment

公司项目中有这样一个需求,当从网络获取json数据并解析后,动态的添加按钮,点击时切换对应按钮下存储的各种数据. 如下图: 这里只是单单为了动态添加RadioButton而已,所以数据直接用Fragment替换,效果如下: MainActivity: package com.ut.radiobuttondynamicadd; import android.os.Bundle; import android.support.v4.app.Fragment; import android.suppo

jQuery给动态添加的元素绑定事件的方法

jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.在1.7版本以前使用live.但是在1.8版本以后推荐使用on.这里介绍jQuery中如何给动态添加的元素绑定事件在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况 例如 1 <div id="testdiv"> 2 <ul></ul> 3 </div> 需要给<ul>里面动态添加的

Winform 动态添加RadioButton、CheckBox 且任意分组

</pre><pre name="code" class="csharp">//按列分组(n>i且listSize>n) <span style="white-space:pre"> </span>public void showRadioButton(int listSize, List<String> list) { //控件上边缘与容器上边缘的距离 int top =

jQuery-为动态添加的元素绑定事件

样例: $("#modify_nick").click(function () { $(this).css("display","none"); $("#nickname_span").empty(); var input = document.createElement("input"); $(input).attr("type", "text"); $(input

WEB前端技巧之JQuery为动态添加的元素绑定事件

jquery 为动态添加的元素绑定事件 如果直接写click函数的话,只能把事件绑定在已经存在的元素上,不能绑定在动态添加的元素上 可以用delegate来实现 .delegate( selector, eventType, handler ) 例如示例: $('someUlSelector').delegate('someLiSelector','click',function(){ //codes... //$(this) for the current jquery instance of

jQuery对 动态添加 的元素 绑定事件(on()的用法)

从jQuery 版本 1.7 起,on() 方法是向被选元素添加事件处理程序的(官方推荐)首选方法. 当浏览器下载完一个页面的时候就开始渲染(翻译)HTML标签,然后执行css.js代码,在执行js代码的时候就注册了相应绑定的事件,我们平常用jQuery给HTML标签绑定(单击)事件是一般这样写 $("#btnId").click(function () { //触发事件后 逻辑 });  但是对用js动态添加的元素 是无效的,即没有绑定单击事件,所以对于动态添加的标签需要用on()来

UGUI 代码 动态添加 Event Trigger 的事件

Additionally, if you need more than just the events provided by default, I'd suggest instead attaching a EventTrigger to your game object. This gives us access to the BaseEventData object returned from the event, telling us stuff like the object that

动态添加dom中的事件绑定

在添加dom时,会同时添加按钮,或者事件.在动态添加的时候,应该用 $(document).on('event','selector',function(){.......}) 例如:

jq动态添加的元素触发事件无效

<div class='a'> <div class='b'> </div> 其中$('.a')是html页面的元素,$('.b')是jq动态添加的元素.$(".b").click(function(){})方法失效 原来jq中动态添加的元素不能直接使用$(".b").click(function(){});的方法,要使用$(".a").on('click','.b',function(){}); $(&quo