2012-08-16 54 views
0

我想用RadioButtons制作一个二进制时钟样式的应用程序。 布局是这样的:android radiobutton array

OOO

Ø*○

这将代表2.

我已经想通了如何与那些和屏幕上的零,并打印出来现在我想使用单选按钮。 我使用的方法是这样的:

public void displayButtons() 
{ 
    int[] binArray = new int[6]; 

    binArray = exec.toBinary(gregCal.get(GregorianCalendar.SECOND)); 

    for(int i = 0 ; i < binArray.length; i++) 
    { 

     if(binArray[i] == 0) 
      rButtons[i].setChecked(false); 
     else 
      rButtons[i].setChecked(true); 

    } 
} 

的toBinary方法执行二进制转换,在这种情况下秒,并返回的0和1的阵列。

private RadioButton rB0, rB1,rB2,rB3, rB4, rB5; 
private RadioButton[] rButtons = new RadioButton[6]; 

    rButtons[0] = rB0; 
    rButtons[1] = rB1; 
    rButtons[2] = rB2; 
    rButtons[3] = rB3; 
    rButtons[4] = rB4; 
    rButtons[5] = rB5; 

我试图启动单选按钮阵列像这样: 如下我做了单选按钮的排列

private RadioButton[] rButtons = {rB0, rB1,rB2,rB3, rB4, rB5}; 

但是这给了我一个运行时错误..

按钮即使我已经将displayButtons()方法放在方法的旁边,也不会更新,而该方法可以正确输出1和0。

我希望我没有忘记包含重要的东西来解决这个问题。 请指教。

编辑:
我的日志如下

12月8日至16日:42:33.453:d/AndroidRuntime(1041):>>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit < < < < < <
12月8日至16日:42:33.453:d/AndroidRuntime(1041):CheckJNI是ON
12月8日至16日:42:34.323:d/AndroidRuntime(1041):调用主入口com.android .commands.pm.Pm
08-16 12:42:34.362:D/AndroidRuntime(1041):关闭VM
08-16 12:42:34.383:D/dalvikvm(1041):GC_CONCURRENT释放101K,71%空闲297K/1024K,外部0K/0K,暂停1ms + 2ms
08-16 12:42:34.393:D/dalvikvm(1041):调试器已分离;对象注册表有1个条目
08-16 12:42:34.413:I/AndroidRuntime(1041):注意:附加线程'Binder Thread#3'失败
08-16 12:42:34.882:D/AndroidRuntime 1051):>>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit < < < < < <
12月8日至16日:42:34.882:d/AndroidRuntime(1051):CheckJNI是ON
08 -16 12:42:35.592:D/AndroidRuntime(1051):调用主条目com.android.commands.am.Am
08-16 12:42:35.653:I/ActivityManager(60):Starting:Intent {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] flg = 0x10000000 cmp = se.macke .binarycounter/.MainActivity} from pid 1051
08-16 12:42:35.732:D/AndroidRuntime(1051):关闭VM
08-16 12:42:35。752:D/dalvikvm(1051):GC_CONCURRENT释放102K,69%空闲320K/1024K,外部0K/0K,暂停2ms + 5ms
08-16 12:42:35.802:I/AndroidRuntime(1051) 'Binder Thread#3'失败
08-16 12:42:35.802:D/dalvikvm(1051):Debugger has detached;对象注册表有1个条目
08-16 12:42:35.922:I/ActivityManager(60):Start proc se.macke.binarycounter for activity se.macke.binarycounter/.MainActivity:pid = 1060 uid = 10035 gids = { }
08-16 12:42:37.812:I/ActivityManager(60):Displayed se.macke.binarycounter/.MainActivity:+ 2s103ms
08-16 12:42:42.933:D/dalvikvm(132):GC_EXPLICIT释放50K,51%免费2842K/5767K,外部2295K/2866K,暂停82ms

+0

使用radioGroup类。并显示你的日志 – Yahor10 2012-08-16 08:31:00

回答

0

rB0,rB1 ... rb5尚未初始化。你可以在你的xml文件中定义它们,然后使用

rB0 = (RadioButton) findViweById(R.yourxml.rB0id)