【问题标题】:android radiobutton arrayandroid单选按钮数组
【发布时间】:2012-08-16 08:23:09
【问题描述】:

我正在尝试使用 RadioButtons 制作二进制时钟样式的应用程序。 布局是这样的:

o o o

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

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

即使我将 displayButtons() 方法放在正确打印出 1 和 0 的方法旁边,按钮也不会更新。

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

编辑:
我的日志如下

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 开启
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.internal.os.RuntimeInit 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): 开始: Intent { 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 freed 102K, 69% free 320K/1024K, external 0K/0K, paused 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 启动 proc 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

【问题讨论】:

  • 使用 radioGroup 类。并显示您的日志

标签: java android arrays radio-button


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 1970-01-01
    相关资源
    最近更新 更多