2013-08-21 3 views
3

В андроида я пытаюсь добавить checktextview с помощью этого:Как создать checktextview в андроиде программно?

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

Но когда я проверить это, он показывает только текст, и я не вижу флажок. Кто-нибудь знает, как отобразить этот флажок?

Спасибо.

ответ

0

Используйте setChecked (true), чтобы проверить его. Но это не флажок, если вы хотите использовать вместо него android.widget.CheckBox.

9

Вы забыли установить галочку, выделенную на 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); 
+2

android.R.attr.checkMark не работает для меня, но с помощью android.R.attr.listChoiceIndicatorMultiple дал мне стандартный флажок. – Josh

Смежные вопросы