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

ome*_*ega 3 java android checkedtextview

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

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

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

谢谢.

MH.*_*MH. 10

您忘记将复选标记设置为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);
Run Code Online (Sandbox Code Playgroud)

  • android.R.attr.checkMark没有为我工作,但使用android.R.attr.listChoiceIndicatorMultiple给了我标准的复选框. (2认同)

Gab*_*han 0

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