在Android中,我试图使用此添加一个checktextview:

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

但是,当我对此进行测试时,它仅显示文本,而没有看到该复选框。有人知道如何显示复选框吗?

谢谢。

最佳答案

您忘记了将可绘制标记设置为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);
    

    10-06 06:32