在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);