在android中运行时获取复选框名称

时间:2014-01-14 08:34:51

标签: java android android-checkbox

点击按钮后,我循环查看复选框列表。我想要做的是在运行时获取复选框的名称以去除名称中指定的整数值。我不是要获得价值也不是id。所以在strings.xml文件<string name="checkList1">Pain assessment.</string>中,我试图在运行时获取checkList1。我可以毫无问题地得到文本。目前,我使用以下代码循环遍历视图元素:

RelativeLayout root = (RelativeLayout)findViewById(R.id.Root);

            for (int i = 0; i < root.getChildCount(); i++)
            {
                View v1 = root.getChildAt(i);
                Class c = v1.getClass();

                if (c == CheckBox.class)
                {
                    CheckBox thisBox = (CheckBox)v1;

                    if (thisBox.isChecked())
                    {
                        String text = (String)thisBox.ge;

                        DoDailyCheckListUpdate(thisBox.isChecked(),checkBoxCount);
                        countItemsFinished++;
                    }

                    checkBoxCount++;
                }
            }

我正在寻找的是以某种方式得到Checkbox thisBox的名称。因此,当它循环并点击Pain Assessment复选框时,我希望能够拉出checkList1。没有根据我发现的文本来获取名称来翻译strings.xml文件,我希望也许有一个更简单的解决方案,我可能会忽略。

提前谢谢你。

1 个答案:

答案 0 :(得分:1)

CheckBoxTextView延伸,因此从中检索文本非常简单:

String text = thisBox.getText().toString();

http://developer.android.com/reference/android/widget/CheckBox.html

如果要检索字符串的键名。我建议你把它放在对象的标签上:

thisBox.setTag(getResources().getResourceEntryName(R.string. checkList1);

像那样检索它:

String text = (String)thisBox.getTag();

应该这样做。