检测单击单选按钮的时间

时间:2017-12-03 19:41:14

标签: android

我在这里使用此代码将我的单选按钮拆分为行和列https://stackoverflow.com/a/2383978/3774526,但我遇到了问题。

单击ToggleButtonGroupTableLayout中的某个单选按钮时,我无法检测到。

这就是我的所作所为:

ToggleButtonGroupTableLayout group;
group = (ToggleButtonGroupTableLayout) findViewById(R.id.group);
group.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Log.d("check", "if clicked");
                }
            });

执行onClick函数内部没有任何内容。有任何想法吗?感谢

1 个答案:

答案 0 :(得分:0)

查看此代码:

abcd..[max letter of in_s]
如果实例是RadioButton,他们会设置一个监听器。

@Override
public void addView(View child, int index,
        android.view.ViewGroup.LayoutParams params) {
    super.addView(child, index, params);
    setChildrenOnClickListener((TableRow)child);
}


/* (non-Javadoc)
 * @see android.widget.TableLayout#addView(android.view.View, android.view.ViewGroup.LayoutParams)
 */
@Override
public void addView(View child, android.view.ViewGroup.LayoutParams params) {
    super.addView(child, params);
    setChildrenOnClickListener((TableRow)child);
}


private void setChildrenOnClickListener(TableRow tr) {
    final int c = tr.getChildCount();
    for (int i=0; i < c; i++) {
        final View v = tr.getChildAt(i);
        if ( v instanceof RadioButton ) {
            v.setOnClickListener(this);
        }
    }
}