如何在android中以编程方式创建checkedtextview?

时间:2013-08-21 03:37:17

标签: java android checkedtextview

在android中我试图使用这个添加checktextview:

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

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

感谢。

2 个答案:

答案 0 :(得分:9)

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

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

不幸的是,默认的复选标记drawable不在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);

答案 1 :(得分:0)

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