0

RadioButtons を使用してバイナリ時計スタイルのアプリケーションを作成しようとしています。レイアウトは次のようなものです。

うーん

o*o

これは 2 を表します。

画面に 1 と 0 を表示して印刷する方法を見つけたので、代わりにラジオボタンを使用したいと思います。私が使用している方法は次のとおりです。

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 メソッドはバイナリ変換 (この場合は数秒) を実行し、1 と 0 の配列を返します。次のようにラジオボタンの配列を作成しました。

    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};

しかし、それは私に実行時エラーを与えました..

1 と 0 を正しく出力するメソッドの隣に displayButtons() メソッドを配置しても、ボタンは更新されません。

この問題を解決するために重要なことを忘れていないことを願っています。ご意見をお聞かせください。

編集:
次のように私のログ

08-16 12:42:33.453: D/AndroidRuntime(1041): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
08-16 12:42:33.453: D/ AndroidRuntime(1041): CheckJNI が ON
08-16 12: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.
08-16 12:42:34.882: D/AndroidRuntime(1051): CheckJNI がオン
です 08-16 12:42:35.592: D/AndroidRuntime(1051): メイン エントリ com.android.commands.am.Am の呼び出し
08-16 12:42:35.653: I/ActivityManager(60): 開始: 意図 { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=se.macke.binarycounter/.MainActivity 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): デバッガーが切り離されました。オブジェクト レジストリには 1 個のエントリがありました
08-16 12:42:35.922: I/ActivityManager(60): アクティビティ se.macke.binarycounter/.MainActivity のプロシージャ se.macke.binarycounter を開始します: pid=1060 uid=10035 gids={}
08-16 12:42 :37.812: I/ActivityManager(60): 表示された se.macke.binarycounter/.MainActivity: +2s103ms
08-16 12:42:42.933: D/dalvikvm(132): GC_EXPLICIT 解放 50K、51% 解放 2842K/5767K、外部2295K/2866K、一時停止 82ms

4

1 に答える 1

0

rB0、rB1... rb5 は初期化されていません。それらをyout xmlファイルで定義してから使用できます

rB0 = (RadioButton) findViweById( R.yourxml.rB0id )
于 2012-08-16T08:37:13.537 に答える