listview-Android的ListView如何实现长点击后出现隐藏的按钮按钮

问题描述

Android的ListView如何实现长点击后出现隐藏的按钮按钮

我现在有个小程序,功能实现为打电话。现在已经获取了联系人列表,联系人列表放在ListView中,使用了BaseAdapter。我现在想实现这样的一个功能,长按ListView里一个联系人Item,然后此Item右边出现拨打电话的按钮,如果按钮出现几秒后用户还不点击,按钮则隐藏。目前我BaseAdapter里getView方法是这样写的

 @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LinearLayout ll=null;
        if (convertView!=null) {
            ll=(LinearLayout)convertView;

        }else{
            ll=(LinearLayout) LayoutInflater.from(context).inflate(R.layout.call_name_num, null);

        }

        TextView userName=(TextView) ll.findViewById(R.id.textName);
        TextView userNumber=(TextView) ll.findViewById(R.id.textNumber);

        Button callBtn =(Button)ll.findViewById(R.id.btnCall);
        callBtn.setVisibility(1);
        callBtn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                System.out.println(">>>>>CallBtn Click");
            }
        });
        userName.setText(phoneUserList.get(position).getName());
        userNumber.setText(phoneUserList.get(position).getNumber());
        return ll;
    }

现在就没思路了,而且我这样写有个问题,添加一个可点击的按钮后,ListView里的联系人就无法点击了,长摁联系人Item也没有反应,这是怎么回事?求大神

解决方案

ListView中item中有按钮,就会使item无法获得焦点,无法响应点击事件。
你试试Button的xml中定义 android:focusable="false"

解决方案二:

你可以在接下来的代码中点用handler.postDelayed(a.b).b就是延长时间。

解决方案三:

长点击后出现隐藏的按钮按钮:可以试试PopupWindow。把隐藏按钮放到PopupWindow中。长按后弹出PopupWindow,过几秒后消失。
这样你的item和button不会冲突了。

解决方案四:

button截获了焦点,可以把button的焦点设为false,或者用textview代替;长按后显示该条的拨号按钮,可以在adapter中添加一标志(比如position),在getview中设置如果等于position就显示反之不显示,长按后设置长按的位置,最后更新adapter。ok!

解决方案五:

在item的根布局中添加android:descendantFocusability=“blocksDescendants"这个属性试试。

解决方案六:

你这种可以 改为 listview.setonitemlongclicklistener 然后弹框提示是否拨打电话

解决方案七:

listview.setonitemlongclicklistener 长按监听

解决方案八:

如果item里有button,那么listview的onItemClickListener就不能用了

解决方案九:

Android ListView 按钮点击分页显示
Android ListView 按钮点击分页显示

时间: 2024-08-17 17:05:03

listview-Android的ListView如何实现长点击后出现隐藏的按钮按钮的相关文章

android开发 listview的item点击后显示详细信息

问题描述 android开发 listview的item点击后显示详细信息 item 的textview点击后我把maxlines的限制去除,数据是能完整显示了,但是由于item本身的高度限制,导致textview无法正常显示,请问怎么解决 解决方案 点击ListView,显示其详细信息android listView点击item,高亮显示Android ListView点击item 显示隐匿菜单项 解决方案二: 在item的layout文件中,给item设定minHeight,即可 解决方案三

Android中ListView如何分页加载数据_Android

熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列表组件,可以说列表组件是Android数据展现方面最重要的组件,我们今天就要讲一讲列表组件ListView加载数据的相关内容.通常来说,一个应用在展现大量数据时,不会将全部的可用数据都呈现给用户,因为这不管对于服务端还是客户端来说都是不小的压力,因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.比如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"加载更多"按钮,用户点

Android实现ListView分页自动加载数据的方法_Android

Android应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一次就展示出来,而是通过分页的形式来展示数据,个人觉得这样会有更好的用户体验.因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.例如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"查看更多"按钮,用户点击后,加载下一页数据. 下面通过一个Demo来展示ListView功能如何实现:该Demo通过在ListVie

【Android】 ListView点击时怎么才能只让背景图片变色,其余部分保持不变?

问题描述 [Android] ListView点击时怎么才能只让背景图片变色,其余部分保持不变? 大家可以看到,我在listview中的布局是两个按Vertical排列的TextView,小弟想实现类似微信上的效果,但是图片上可以看到,当点击Listview时整个布局都会被选中,而不是只选中仅仅包含图片的部分.所以想请教下怎么样才能实现?是否微信的效果不是用listview做的? PS:小弟初出茅庐,没有分可以悬赏,望各位大哥不吝赐教! 解决方案 1.你现在设置的点击内容是ListView的整个

Android之ListView异步加载图片且仅显示可见子项中的图片

折腾了好多天,遇到 N 多让人崩溃无语的问题,不过今天终于有些收获了,这是实验的第一版,有些混乱,下一步进行改造细分,先把代码记录在这儿吧. 网上查了很多资料,发现都千篇一律,抄来抄去,很多细节和完整实例都没看到,只有自己一点点研究了,总体感觉 android 下面要显示个图片真不容易啊. 项目主要实现的功能: 异步加载图片 图片内存缓存.异步磁盘文件缓存 解决使用 viewHolder 后出现的图片错位问题 优化列表滚动性能,仅显示可见子项中的图片 无需固定图片显示高度,对高度进行缓存使列表滚

Android使用ListView

在ListView中设置Selector为null会报空指针?  mListView.setSelector(null);//空指针  试试下面这种:  mListView.setSelector(new ColorDrawable(Color.TRANSPARENT));  如何让ListView初始化的时候就选中一项?  ListView需要在初始化好数据后,其中一项需要呈选中状态.所谓"选中状态"就是该项底色与其它项不同,setSelection(position)只能定位到某个

android的listview中的自定义adapter初次打开不显示缓存的网络图片

问题描述 android的listview中的自定义adapter初次打开不显示缓存的网络图片 求助,小弟最近在写用listview 的 adapter ,在 imageview 上显示网络图片,缓存下来的图片保存成 bitmap , 在 adapter 中的 getView 设置了 imageView_image.setImageBitmap(bitmap); 但不知为何每第一次打开列表图片等待很长总是不显示,但在 listview 上下滚动的时候显示出来了,求解 解决方案 你第一次打开的时候

Android中ListView分页加载数据功能实现_Android

 熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列表组件,可以说列表组件是Android数据展现方面最重要的组件,我们今天就要讲一讲列表组件ListView加载数据的相关内容.通常来说,一个应用在展现大量数据时,不会将全部的可用数据都呈现给用户,因为这不管对于服务端还是客户端来说都是不小的压力,因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.比如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"加载更多"按钮,用户

Android 中ListView setOnItemClickListener点击无效原因分析_Android

前言 最近在做项目的过程中,在使用listview的时候遇到了设置item监听事件的时候在没有回调onItemClick 方法的问题.我的情况是在item中有一个Button按钮.所以不会回调.上百度找到了解决办法有两种,如下: 1.在checkbox.button对应的view处加android:focusable="false" 复制代码 代码如下: android:clickable="false" android:focusableInTouchMode=&