给Listview里面Item里的每一个控件怎么设定点击事件
1个回答
展开全部
给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>
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>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询