当前位置:首页 » 安卓系统 » androidlistview点击事件

androidlistview点击事件

发布时间: 2025-02-09 07:25:52

‘壹’ Android listview的item点击事件怎么失效了

原因多半是由于在自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。

这时候就可以使用descendantFocusability来解决啦,API描述如下:

android:descendantFocusability

Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.

Must be one of the following constant values.

该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。念瞎告

属性仔明的值有三种:

  1. beforeDescendants:viewgroup会优先其子类控件而获取到焦点

  2. afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

  3. blocksDescendants:viewgroup会神搏覆盖子类控件而直接获得焦点

通常用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了

‘贰’ android 在一个listview中怎么给每一项的button监听点击事件

首先你说的东西是一个误区,不是每一项button而是list里面的item,其次,将item进行点击监听,我写一个点击监听的方法
mylistview = (ListView)findViewById(R.id.listview);
list.add("LinearLayout");
list.add("AbsoluteLayout");
list.add("TableLayout");
list.add("RelativeLayout");
list.add("FrameLayout");
ArrayAdapter<String> myArrayAdapter = new ArrayAdapter<String>
(this,android.R.layout.simple_list_item_1,list);
mylistview.setAdapter(myArrayAdapter);
mylistview.setOnItemClickListener(new OnItemClickListener(){

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
if(list.get(arg2).equals("LinearLayout"))
{
Intent intent = new Intent("com.wps.android.LINEARLAYOUT");
startActivity(intent);
}
if(list.get(arg2).equals("AbsoluteLayout"))
{
Intent intent = new Intent("com.wps.android.ABSOLUTELAYOUT");
startActivity(intent);
}
if(list.get(arg2).equals("TableLayout"))
{
Intent intent = new Intent("com.wps.android.TABLELAYOUT");
startActivity(intent);
}
if(list.get(arg2).equals("RelativeLayout"))
{
Intent intent = new Intent("com.wps.android.RELATIVELAYOUT");
startActivity(intent);
}
if(list.get(arg2).equals("FrameLayout"))
{
Intent intent = new Intent("com.wps.android.FRAMELAYOUT");
startActivity(intent);
}
}

});

‘叁’ android listview上下滑动时为什么不触发点击事件

setOnItemClickListener()
触发的机制是,
手指点击时会产生触屏事件的
ACTION_DOWN,
这会根据xy坐标判断是哪个Item被点击,
手指提起时会触发ACTION_UP事件,
这样才是真正完成了整个点击的过程,从触发了setOnItemClickListener事件

如果
你点击之后移动了
会触发ACTION_MOVE事件,当手指移动超过一定距离再提起时,就不会再触发setOnItemClickListener
事件。
希望能帮到你。

热点内容
王者怎么挂机脚本 发布:2025-09-21 12:35:39 浏览:630
直播吧源码 发布:2025-09-21 11:48:28 浏览:335
煎鸡蛋解压 发布:2025-09-21 11:47:46 浏览:651
安卓版ins服务器地址 发布:2025-09-21 11:22:36 浏览:346
品红试剂怎么配置 发布:2025-09-21 11:22:14 浏览:888
8位手机密码是多少 发布:2025-09-21 11:16:11 浏览:284
恢复微软默认激活服务器地址 发布:2025-09-21 11:03:01 浏览:41
阿里云服务器怎么重置 发布:2025-09-21 10:53:11 浏览:113
c访问hbase 发布:2025-09-21 10:42:09 浏览:217
java设计报告 发布:2025-09-21 10:32:40 浏览:649