下面的代码允许用户单击一行并只在imageview上触发setOnItemClickListener方法,在ID为android:id="@+id/titulo"
的情况下触发TextView,而ID android:id="@+id/descripcion"
的textView则忽略用户单击,则不会触发setOnItemClickListener方法。
如果仔细观察,android:id="@+id/titulo"
和android:id="@+id/descripcion"
之间唯一的区别是最后一个有属性android:inputType="textMultiLine"
我尝试了几乎每一个组合,但没有成功,我没有相关的编程代码。
item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:descendantFocusability="blocksDescendants"
android:id="@+id/pnlFila">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginRight="6dp"
android:layout_marginTop="10sp"
android:typeface="sans"
android:textStyle="bold"
android:src="@drawable/futbol"
android:clickable="false"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/titulo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/icon"
android:textAlignment="center"
android:text="Futbol"
android:textSize="20sp"
android:layout_marginTop="10sp"
android:textColor="#000000"
/>
<TextView
android:id="@+id/descripcion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/icon"
android:inputType="textMultiLine"
android:textAlignment="center"
android:text="Una descripción corta"
android:layout_marginTop="10sp"
android:textSize="15sp"
android:textColor="#000000"
/>
</LinearLayout>
</LinearLayout>
list.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:orientation="vertical"
android:weightSum="1">
<TextView
android:layout_width="340dp"
android:layout_height="wrap_content"
android:textSize="22sp"
android:text="@string/listaTienda"
android:typeface="sans"
android:layout_marginTop="2dp"
android:textColor="#6B8E23"
android:layout_marginLeft="2dp"
android:id="@+id/lb_categoria"/>
<ListView
android:id="@+id/lista_tiendas"
android:layout_width="match_parent"
android:layout_height="251dp"
android:layout_marginTop="20dp"
android:layout_weight="1.04"
android:clickable="true"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20sp"
android:orientation="horizontal"
android:weightSum="1">
<Button
android:id="@+id/btnNuevaTienda"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_gravity="center"
android:text="Nueva Tienda"
android:textColor="#000000"
android:textSize="20sp"
android:typeface="sans" />
</LinearLayout>
</LinearLayout>
发布于 2015-08-13 10:52:08
移除这一行:
android:inputType="textMultiLine"
以及:
android:descendantFocusability="blocksDescendants"
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/pnlFila">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginRight="6dp"
android:layout_marginTop="10sp"
android:typeface="sans"
android:textStyle="bold"
android:src="@drawable/ic_launcher"
android:clickable="false"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/titulo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/icon"
android:textAlignment="center"
android:text="Futbol"
android:textSize="20sp"
android:layout_marginTop="10sp"
android:textColor="#000000"
/>
<TextView
android:id="@+id/descripcion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/icon"
android:textAlignment="center"
tools:text="Una descripción corta jhkjhjkh jhjkhjkh kjhkjhjkhj jhjkhkjh kjhjkhjkh jkhjkhjk"
android:layout_marginTop="10sp"
android:textSize="15sp"
android:textColor="#000000"
/>
</LinearLayout>
</LinearLayout>
https://stackoverflow.com/questions/31986046
复制相似问题