<p>类CheckedTextView继承超类TextView并实现Checkable接口。当ListView的setChoiceMode方法并设定为CHOICE_MODE_SINGLE或者CHOICE_MODE_MULTIPLE,而非CHOICE_MODE_NONE时,使用此类是很有用的。</p><p>使用范例:</p><p>(1)</p><p>/res/layout/main.xml 中添加相应资源ID</p><pre class="brush:xml;toolbar:false"><ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<CheckedTextView
android:id="@+id/checkedTextView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:text="@string/checkedTextView1"
/>
<CheckedTextView
android:id="@+id/checkedTextView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:text="@string/checkedTextView2"
/>
<CheckedTextView
android:id="@+id/checkedTextView3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:text="@string/checkedTextView3"
/>
<CheckedTextView
android:id="@+id/checkedTextView4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:text="@string/checkedTextView4"
/></pre><p>(2)/res/values/strings.xml 资源</p><pre class="brush:xml;toolbar:false"><stringname="hello">TextView多选框</string>
<stringname="app_name">CheckedTextView</string>
<stringname="checkedTextView1">TextView多选框1</string>
<stringname="checkedTextView2">TextView多选框2</string>
<stringname="checkedTextView3">TextView多选框3</string>
<stringname="checkedTextView4">TextView多选框4</string></pre><p></p><p>(3)源代码中使用</p><pre class="brush:java;toolbar:false">listView=(ListView)findViewById(R.id.listView);
checkedTextView1=(CheckedTextView)findViewById(R.id.checkedTextView1);
checkedTextView2=(CheckedTextView)findViewById(R.id.checkedTextView2);
checkedTextView3=(CheckedTextView)findViewById(R.id.checkedTextView3);
checkedTextView4=(CheckedTextView)findViewById(R.id.checkedTextView4);
//设置checkedTextView1为选中状态
checkedTextView1.setChecked(true);
//设置checkedTextView2的页边距,即距上/下/左/右各20像素,默认为未选中状态
checkedTextView2.setPadding(20,20,20,20);
//设置checkedTextView3为选中状态,并更改其显示图标,使用android系统资源arrow_down_float
checkedTextView3.setChecked(true);
checkedTextView3.setCheckMarkDrawable(android.R.drawable.arrow_down_float);
//设置checkedTextView4反转状态,由默认的未选中反转为选中状态
checkedTextView4.toggle();
//点击状态后变更相反,如选中变为未选中,未选中的变为选中
checkedTextView1.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
checkedTextView1.toggle();
}
});
//点击状态后变更相反,如选中变为未选中,未选中的变为选中
checkedTextView2.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
checkedTextView2.toggle();
}
});
//点击状态后变更相反,即下三角转化为上三角符号
checkedTextView3.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
checkedTextView3.setCheckMarkDrawable(android.R.drawable.arrow_up_float);
}
});
//点击状态后变更相反,如选中变为未选中,未选中的变为选中
checkedTextView4.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
checkedTextView4.toggle();
}
});
//设置listView的模式为CHOICE_MODE_SINGLE
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);</pre><p>效果截图:Android <wbr>API之CheckedTextView代码演示</p>