给Listview里面Item里的每一个控件怎么设定点击事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给Listview里面Item里的每一个控件怎么设定点击事件相关的知识,希望对你有一定的参考价值。

参考技术A 给Listview里面Item里的每一个控件怎么设定点击事件
adpter用的是继承的baseadapter,给整个listview上的Item设置点击事件就用listview.setOnItemClickListener(listener)就可以,下面介绍如果给Item里面某一控件设置点击事件。方法是重写 Adapter。
ListView工作原理(针对下面代码):
1. 给ListView设置数据适配器,此chǔ程序是自己重写的Adapter,创建Adapter 的时候主要做下面的工作:
(1)把ListView需要显示的数据传给Adapter
(2)把ListView显示Item的界面传给Adapter
(3)把上下文对象传给Adapter,主要用来得到LayoutInflater对象来得到Item界面
2. 给ListView设置当点击Item对象的时候执行的操作,此chǔ要实现给Item中的各项也就是该程序的三个TextView设置监听器,也就是调用Adapter中的getView函数。
3. getView函数实现的操作是:第一要将Item要显示的数据显示,然后设置监听器,为监听器设置操作。

代码如下:

ListView中Item的布局文件
activity_my_goods_listview.xml
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android=""

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal" >

<TextView

android:id = "@+id/goodBarcode"

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:paddingTop="10dip"

android:clickable="true"//设置可点击

/>

<TextView

android:id="@+id/goodName"

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:paddingTop="10dip"

android:clickable="true"

/>

<TextView

android:id="@+id/goodProvider"

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:paddingTop="10dip"

android:clickable="true"

/>

</LinearLayout>

ListView控件所在的布局文件
activity_my_goods.xml

<RelativeLayout xmlns:android=""

xmlns:tools=""

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#ffffffff"

android:gravity="center"

android:orientation="vertical">

<LinearLayout //标题

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:paddingLeft="15px"

android:layout_marginLeft="5dip"

android:layout_marginTop="93dip">

<TextView

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:text="商品条码"

android:paddingTop="10dip"

/>

<TextView

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:text="商品名称"

android:paddingTop="10dip"

/>

<TextView

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:text="供应"

android:paddingTop="10dip"

/>

</LinearLayout>

<ScrollView

android:id="@+id/feedbacklayout01"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_marginTop="103dip"

android:paddingTop="20.0dip" >

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:paddingLeft="20px">

<ListView

android:id="@+id/goodsinfoListView"

android:layout_width="wrap_content"

android:layout_height="354dp"

android:layout_marginBottom="5.0dip"

android:layout_marginRight="5.0dip"

android:textColor="#000"

android:textSize="16.0dip">

</ListView>

</ScrollView>

</RelativeLayout>
转载,仅供参考。
参考技术B 给Listview里面Item里的每一个控件怎么设定点击事件
adpter用的是继承的baseadapter,给整个listview上的Item设置点击事件就用listview.setOnItemClickListener(listener)就可以,下面介绍如果给Item里面某一控件设置点击事件。方法是重写 Adapter。
ListView工作原理(针对下面代码):
1. 给ListView设置数据适配器,此chǔ程序是自己重写的Adapter,创建Adapter 的时候主要做下面的工作:
(1)把ListView需要显示的数据传给Adapter
(2)把ListView显示Item的界面传给Adapter
(3)把上下文对象传给Adapter,主要用来得到LayoutInflater对象来得到Item界面
2. 给ListView设置当点击Item对象的时候执行的操作,此chǔ要实现给Item中的各项也就是该程序的三个TextView设置监听器,也就是调用Adapter中的getView函数。
3. getView函数实现的操作是:第一要将Item要显示的数据显示,然后设置监听器,为监听器设置操作。

代码如下:

ListView中Item的布局文件
activity_my_goods_listview.xml
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android=""

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal" >

<TextView

android:id = "@+id/goodBarcode"

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:paddingTop="10dip"

android:clickable="true"//设置可点击

/>

<TextView

android:id="@+id/goodName"

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:paddingTop="10dip"

android:clickable="true"

/>

<TextView

android:id="@+id/goodProvider"

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:paddingTop="10dip"

android:clickable="true"

/>

</LinearLayout>

ListView控件所在的布局文件
activity_my_goods.xml

<RelativeLayout xmlns:android=""

xmlns:tools=""

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#ffffffff"

android:gravity="center"

android:orientation="vertical">

<LinearLayout //标题

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:paddingLeft="15px"

android:layout_marginLeft="5dip"

android:layout_marginTop="93dip">

<TextView

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:text="商品条码"

android:paddingTop="10dip"

/>

<TextView

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:text="商品名称"

android:paddingTop="10dip"

/>

<TextView

android:layout_width="150dip"

android:layout_height="wrap_content"

android:textColor="#000"

android:textSize="16sp"

android:text="供应"

android:paddingTop="10dip"

/>

</LinearLayout>

<ScrollView

android:id="@+id/feedbacklayout01"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_marginTop="103dip"

android:paddingTop="20.0dip" >

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:paddingLeft="20px">

<ListView

android:id="@+id/goodsinfoListView"

android:layout_width="wrap_content"

android:layout_height="354dp"

android:layout_marginBottom="5.0dip"

android:layout_marginRight="5.0dip"

android:textColor="#000"

android:textSize="16.0dip">

</ListView>

</ScrollView>

</RelativeLayout>

listview中的每一个Item都有edittext,如何能够让listview的item和edittext都能响应点击消息

Android中ListView的item中含有EditText,如何实现点击整个item时可以跳转,点击edittext可以进行文本编辑。

参考技术A 建立一个Linearlayout 然后宽度 高度设为0dp 加两个属性

android:focusable="true"
android:focusableInTouchMode="true"

即可解决

以上是关于给Listview里面Item里的每一个控件怎么设定点击事件的主要内容,如果未能解决你的问题,请参考以下文章

给Listview里面Item里的每一个控件怎么设定点击事件

给Listview里面Item里的每一个控件怎么设定点击事件

listview嵌套 子控件点击事件被拦截怎么做

关于adapter里getview的按钮点击,使控件隐藏显示的问题

如何在ListView中设置item的点击事件

Android怎么在listview中的item动态添加控件。比如我不清楚究竟有几张图片需要解析数据后才知道