listView中的button控件获取item的索引

在listview中的listitem设置事件响应,如果listitem中有button控件,这时候listitem就不会捕获到点击事件,而默认的是listitem中的button会捕获点击事件。那么如果点击listitem中的button怎么才能这个button是在哪一个item中呢,换句话说,就是点击listitem中的button怎么获取该listitem的索引?得到了这个索引的话,item里边的值就相对容易了。

通过如下方法可以实现:

1、在listitem中初始化button的时候,给该button添加一个setPosition方法,将此时的索引值传进去,然后在button的onclick事件中调用view的getPosition方法,即可将listitem的索引读出来,代码如下:

tagButton.setPsition(position); 此处的tagButton就是定义的button,Position是view里边的位置。

2、初始化button的时候通过setPosition方法传入一个item的索引值

private OnClickListener tagButtonOnClick = new OnClickListener() {

public void onClick(View v) {

final int index = (Integer) v.getPosition();

index就是点击button所在Item中的位置,通过这个位置就可以得到Item中的值。

时间: 2024-08-01 09:38:48

listView中的button控件获取item的索引的相关文章

listView中的button控件获取索引

1.在listitem中初始化button的时候,给该button添加一个setTag方法,将此时的索引值传进去,然后在button的onclick事件中调用view的getTag方法,即可将listitem的索引读出来,代码如下: tagButton.setTag(position); 此处的tagButton就是定义的button,Position是view里边的位置. 2.初始化button的时候通过setTag方法传入一个item的索引值 private OnClickListener 

[原创]在Framelayout中放置button控件出现的覆盖问题

android Framelayout(帧布局)是很常用的布局,主要用来处理需要多个view叠加显示的情况. 然而在使用中,我发现Framelayout中的Button控件,会挡住所有其他控件,而不论位置和添加顺序如何,这个表现是不正常的,我本机有4.1和5.0两种模拟器,只有5.0有这个问题,因此怀疑是5.0的bug. 下面用一个例子说明: 想要的效果是这样的:   我选择使用Framelayout来实现,下面一个button,上面一个imageview即可,代码如下: 1 <FrameLay

Xcode UIView 中的Button 控件的属性和基本用法

  //第一种创建UIButton的方法 //initWhitFrame: UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(110, 100, 100, 30)]; button.backgroundColor = [UIColor redColor]; button.titleLabel.font = [UIFont systemFontOfSize:19.0];//设置按钮的文字大小 button.contentHor

Android中在Button控件上显示倒计时

public class CountdownTimerActivity extends Activity {private TimeCount time;private Button checking;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.la

我的Android进阶之旅------&gt;Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法

开发中常常需要自己定义Listview,去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点. 如果你的自定义ListViewItem中有Button.ImageButton或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus.所以常常当点击item时变化的是子控件,item本身的点击没有响应. 这时候就可以使用descendan

我的Android进阶之旅------&amp;gt;Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法

开发中经常须要自定义Listview,去继承BaseAdapter,在adapter中依照需求进行编写,问题就出现了,可能会发生点击每个item的时候没有反应,无法获取的焦点. 假设你的自己定义ListViewItem中有Button.ImageButton或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus. 所以经常当点击item时变化的是子控件,item本身的点击没有响应. 这时候就能够使用descendan

使listview下的控件获取点击事件,android:descendantFocusability用法简析

开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点.原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,

IOS objective-c 学习笔记 控件获取于button调用

控件获取有两种方式: 1. IBOutlet:直接拖拽需要的控件到界面设计文件 *.h 的@interface和@end之间 2. Tag:设置tag为12,通过如下代码获取lable UILabel* lable = (UILabel*) [self.view viewWithTag:12]; button的调用,也是IOS的事件处理方式也有两种: 1. 通过IBAction绑定实现事件处理 依旧是拖拽控件到 *.h ,输入IBAction的方法名,connect!并在控制界面 *.m 文件内

[Android学习笔记]ListView中含有Button导致无法响应onItemClick回调的解决办法

转自:http://www.cnblogs.com/eyu8874521/archive/2012/10/17/2727882.html 问题描述: 当ListView的Item中的控件只是一些展示类控件时(比如TextView),注册ListView的监听setOnItemClickListener之后,当点击Item时候会触发onItemClick回调. 但是,当Item中存在Button(继承于Button)的控件时,onItemClick回调不会被触发. 解决方案: 在Item的布局文件