Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用图像创建ListItem并正确处理选择状态?_Android_Android Layout - Fatal编程技术网

Android 如何使用图像创建ListItem并正确处理选择状态?

Android 如何使用图像创建ListItem并正确处理选择状态?,android,android-layout,Android,Android Layout,我想创建一个ListView列表项,该列表项左侧包含一个TextView,右侧包含一个ImageButton,其选择状态与ICS dialer应用程序中的列表项(特别是history选项卡)的工作方式相同 当用户按下拨号程序应用程序中包含通话历史记录信息的列表项时,整个列表项行的背景颜色(变为蓝色)。但是,如果用户按下手机图标,只有手机图标的背景颜色会改变,而不是整个列表项行。我想模仿这种行为,但我似乎无法让它正常工作。当前在我的应用程序中,如果用户按下列表项的TextView部分,ImageB

我想创建一个ListView列表项,该列表项左侧包含一个TextView,右侧包含一个ImageButton,其选择状态与ICS dialer应用程序中的列表项(特别是history选项卡)的工作方式相同

当用户按下拨号程序应用程序中包含通话历史记录信息的列表项时,整个列表项行的背景颜色(变为蓝色)。但是,如果用户按下手机图标,只有手机图标的背景颜色会改变,而不是整个列表项行。我想模仿这种行为,但我似乎无法让它正常工作。当前在我的应用程序中,如果用户按下列表项的TextView部分,ImageButton背景将更改为其按下状态颜色,整个列表项行的背景也将更改(为蓝色)。但是,如果用户按下地图图标,地图图标将变为按下状态,列表项行背景不会变为蓝色(在本例中,这就是我想要的)

用_image.xml列出_项

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_item_with_image_container"
android:layout_width="fill_parent"
android:layout_height="@dimen/list_item_height_default"
android:gravity="center_vertical"
android:paddingLeft="10dip"
android:paddingRight="10dp">
<TextView
    android:id="@+id/txtItem"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:textAppearance="?android:attr/textAppearanceSmall"/>
<ImageView
    android:id="@+id/list_item_divider"
    android:layout_width="wrap_content"
    android:layout_height="35dp"
    android:layout_centerVertical="true"
    android:layout_toLeftOf="@+id/map_btn"
    android:paddingRight="8dp"
    android:scaleType="fitXY"
    android:src="@drawable/list_divider_holo_light"/>
<ImageView
    android:id="@+id/map_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="5dp"
    android:background="@drawable/map_btn_selector"
    android:onClick="mapBtnClick"/>
</RelativeLayout>

map_btn_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/map_pressed" android:state_pressed="true"/> <!-- pressed -->
<item android:drawable="@drawable/map_selected" android:state_focused="true"/> <!-- focused -->
<item android:drawable="@drawable/map"/> <!-- default -->
</selector>

检查此链接尝试此链接它提供了准确的您期望的内容