首页

CheckedTextView控件

搜索

概述

CheckTextView控件专用于显示单选风格或复选风格的标签,该控件与ListView配合使用,可实现列表的单选/复选的风格。如图-4所示:

图-4

常用属性

XML属性

说明

checkMark

设置ListView的选择行为标签的显示风格,有以下两个值:

(1) ?android:attr/listChoiceIndicatorSingle

(2) ?android:attr/listChoiceIndicatorMultipl

示例(1):设置单选风格显示,如下代码所示:

<CheckedTextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:checkMark="?android:attr/listChoiceIndicatorSingle">

</CheckedTextView>

示例(2);设置复选风格显示,如下代码所示:

<CheckedTextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:checkMark="?android:attr/listChoiceIndicatorMultiple">

</CheckedTextView>

示例(3)与ListView配合使用,在列表中显示单选风格按钮,效果如图-4所示。

步骤1、在res/layout文件夹下创建single_choice.xml文件,输入示例(1)所示代码。

步骤2、打开res/layout/main.xml,按以下代码中红框所示定义ListView控件:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent">

<ListView

android:id="@+id/listView"  

    android:layout_width="fill_parent" 

    android:layout_height="wrap_content"

    android:choiceMode="singleChoice"/>

</LinearLayout>

示例(4)用代码方式设置单选风格

步骤1与示例(3)相同。

步骤2、将示例(3)步骤2中红框内走后一行代码删除(该行代码将用Java代码实现)。

步骤3、在Java代码中设置ListView列表单选风格,如下代码所示:

   public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        ListView ListView=(ListView)findViewById(R.id.listView);

        listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

    }

示例(5)设置复选风格的列表。

步骤1、在res/layout文件夹下创建single_choice.xml文件,输入示例(2)所示代码。

步骤2、打开res/layout/main.xml,按以下代码中红框所示定义ListView控件:

   android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent">

<ListView

android:id="@+id/listView"  

    android:layout_width="fill_parent" 

    android:layout_height="wrap_content"

    android:choiceMode=" listChoiceIndicatorMultiple"/>

</LinearLayout>

示例(6)用Java代码设置复选风格的列表

步骤1与示例(5)的步骤1相同。

步骤2、将示例(5)红框中最后一行删除。

步骤3、在Java代码中设置ListView列表复选风格,如下代码所示:

   public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        ListView ListView=(ListView)findViewById(R.id.listView);

        listView.setChoiceMode(ListView. CHOICE_MODE_MULTIPLE);

}

重要提示

1、ListView中每一行只能有一个CheckedTextView,通过查看ArrayAdapter类的getView()方法,发现该方法从资源中获取布局对象后,强制转换为TextView类型,所以只能有一个CheckedTextView对象(因CheckedTextView类是TtextView的子类)。

2、必须设置CheckedTextView的checkMark属性值。

3、在Java代码中必须设置ListView的选择模式,否则即使布局中显示了单选/复选风格,但点击列表项时也无法响应点击事件。

 

上一页 下一页