2012-08-16 80 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)