3

在android中,我正在尝试使用以下方法添加checktextview:

    CheckedTextView checkedtextview = new CheckedTextView(this, null, android.R.attr.listChoiceIndicatorMultiple);
    checkedtextview.setText(personobj.lastname + ", " + personobj.firstname);
    LocationLayout.addView(checkedtextview);

但是当我测试它时,它只显示文本,我没有看到复选框。有谁知道如何显示复选框?

谢谢。

4

2 回答 2

10

您忘记将可绘制的复选标记设置为CheckedTextView- 默认情况下它没有。在视图上调用以下两种方法之一来设置一种:

  • setCheckMarkDrawable(Drawable d)
  • setCheckMarkDrawable(int resid)

不幸的是,默认的复选标记绘图不在 Android 的公共名称空间中,因此无法直接访问。您应该能够解析主题的checkMark属性并进行设置。这样做的代码看起来有点像这样:

TypedValue value = new TypedValue();
// you'll probably want to use your activity as context here:
context.getTheme().resolveAttribute(android.R.attr.checkMark, value, true);
int checkMarkDrawableResId = value.resourceId;
// now set the resolved check mark resource id:
checkedtextview.setCheckMarkDrawable(checkMarkDrawableResId);
于 2013-08-21T04:54:38.180 回答
0

使用 setChecked(true) 进行检查。但这不是一个复选框,如果你想使用 android.widget.CheckBox 代替。

于 2013-08-21T04:36:04.067 回答