【问题标题】:Android - How to add radio buttons to a radiogroup in another Activity? (programatically)Android - 如何将单选按钮添加到另一个活动中的单选组? (以编程方式)
【发布时间】:2013-06-03 06:36:26
【问题描述】:

我对使用 Android 进行编程非常陌生,所以我正在制作一个简单的文本 RPG 来练习为该平台进行开发。玩家可以访问一个菜单,该菜单将他们的项目显示为一组单选按钮。这样可以选择一个来装备/出售/等。游戏在一个完全不同的 Activity 中处理。我希望游戏活动中可能发生的随机事件能够将新的自定义单选按钮添加到库存活动页面。在我的库存活动页面上,我编写了一个简单的方法:

    public void addRadioButtons(){

        RadioGroup items=(RadioGroup) findViewById(R.id.invItems);
        RadioButton newItem = new RadioButton(this);
        newItem.setText("New Rare Item");
        newItem.setId(idCounter);
        idCounter++;
        items.addView(newItem);
}

当Game Event中计算出随机掉落事件时,它只是调用了object.addRadioButtons()方法。无论我尝试什么,这股力量每次都会关闭。我还尝试在添加按钮之前对其进行预格式化,但也无济于事。我错过了什么吗?

【问题讨论】:

    标签: java android android-activity radio-button radio-group


    【解决方案1】:

    看来,idCounter 值的原因。在 Android 中,view id 必须按照一定的规则计算。查看this post 了解更多详情。

    【讨论】:

    • 我为 ID 尝试了许多不同的方法。 Android 文档说 ID 号是任意的,所以我只是想让它成为一个正整数。我还尝试了各种方法为其生成 ID。无论我采用哪种方式,它都会抛出一个空指针异常。
    • 空指针???这很简单!只需进入调试器上的功能并检查所有对象。可能是找不到项目,或者 idCounter 没有初始化?
    • 我很抱歉,就像我说我在这方面很新,但我该怎么做呢?我试图搞乱调试很多,但它通常只会让我更加困惑。哦,idCounter 变量在类的开始就被初始化了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 2012-05-20
    • 2019-03-25
    • 1970-01-01
    相关资源
    最近更新 更多