- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 XML 创建了一个 RadioGroup
布局。所以我动态创建它:
RadioGroup segmentRadioGroup = new RadioGroup(parentActivity);
inflater.inflate(R.layout.segm_btn_stores, segmentRadioGroup);
segmentRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
showMap();
}
});
哦,这行不通! showMap
没有触发!
但是……等等。如果我们这样做呢?
RadioGroup segmentRadioGroup = (RadioGroup) inflater.inflate(R.layout.segm_btn_stores, null);
它...有效。为什么? segmentRadioGroup
在这两种情况下都是 RadioGroup
。如果我传递之前创建的 segmentRadioGroup
而不是 null
它也不会起作用。
最佳答案
RadioGroup segmentRadioGroup = new RadioGroup(parentActivity);
在上面的行中,您创建了一个“空的”RadioGroup
。然后……
inflater.inflate(R.layout.segm_btn_stores, segmentRadioGroup);
...在上面的行中,您从布局文件中扩充了另一个 RadioGroup
,然后将其“添加”到第一个 RadioGroup
。这里的逻辑似乎是,随着 RadioGroup
扩展(实际上是)LinearLayout
,RadioGroup
包含另一个 是合法的RadioGroup
.
segmentRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { ...});
最后,在上面的行中,您在外部/父 RadioGroup
而不是内部 RadioGroup
上设置监听器。因此,永远不会为内部 RadioGroup
调用 onCheckedChanged(...)
方法。
好吧,这是我唯一能想到的逻辑。
用你的第二种方法......
RadioGroup segmentRadioGroup = (RadioGroup) inflater.inflate(R.layout.segm_btn_stores, null);
您只是在没有外部父布局的情况下膨胀一个 RadioGroup
,因为您将“null”作为第二个参数传递。
关于android - 为膨胀的 RadioGroup 创建 onChangeListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11106441/
是否可以仅在软键盘输入数字时为 numberPicker 设置 onChangeListener?当数字更改为 gy +/- 时,不应执行监听器。仅当用户从软键盘输入数字时。 目标是在用户在前一个项目
我写了一个简单的PreferenceScreen,如下所示: public class SettingsActivity extends PreferenceActivity implements O
我正在尝试重置 ComboBox 的选择,如下所示: // private ListView f_lItems f_lItems.getSelectionModel().selectedItemPro
我用 XML 创建了一个 RadioGroup 布局。所以我动态创建它: RadioGroup segmentRadioGroup = new RadioGroup(parentActivity);
我有以下代码: nameOfInf.setOnFocusChangeListener(new OnFocusChangeListener() { if (strTollAmount.lengt
我有这段代码来为 Range Bar 库 实现监听器: rangebar.setOnRangeBarChangeListener(new RangeBar.OnRangeBarChangeListen
我是一名优秀的程序员,十分优秀!