popupwindow放置listview,并且使listview可以响应点击事件

最近在模仿微信的选择头像的功能,就是一个Popwindow里面是一个ListView,ListView是所有相册,用户点击里面的相册,那么那个相片展示的页面就会显示你选择的相册的相片

。刚开始发现里面的ListView不能获取点击事件,插入如下代码解决

popWinPlaylist.setFocusable(true);
popWinPlaylist.update();  

随后发现popwindown以外的地方不能响应点击事件,其实你可以通过pw(PopupWindow对象).getContextView()拿到他的父视图。然后通过给父视图注册事件 让pw失去焦点 。

 //做一个不在焦点外的处理事件监听
    parameterPop.getContentView().setOnTouchListener(new OnTouchListener(){
     @Override
     public boolean onTouch(View v, MotionEvent event) {
      // TODO Auto-generated method stub
      parameterPop.setFocusable(false);
      parameterPop.dismiss();
      return true;
     }  

    });
   }  

又发现一个问题,返回键不能响应点击事件,相信看了上面代码的应该会明白。要响应谁就交给谁。setFocusable(true)此时已经让Pw获取了焦点。解决办法:因为Pw里放置了ListView。可以利用setOnKeyListener对Pw里的ListView 设置监听代码如下:

parameter_list.setOnKeyListener(new OnKeyListener(){  

                @Override
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                    // TODO Auto-generated method stub
                    parameterPop.dismiss();
                    return true;
                }  

            });  
时间: 2024-12-27 21:59:14

popupwindow放置listview,并且使listview可以响应点击事件的相关文章

AndroidのListView之滑动列表项(点击事件和滑动事件共存) - bvin

返回脚本百事通 这里正好在项目有这么一个bt的需求,如下图ListView的item可以响应点击事件也可以响应item的左右滑动事件,两个事件可以相互独立互不影响. 听说iphone的list选项就有这样bt的功能,安卓版的手机QQ和微信和QQ通讯录也有类似的效果,在网上各种寻早方案都试过,要不只能滑动不能点击要么就只能点击不能滑动,而且操作很不灵敏,网上的代码都是在itemView的onTouch方法里处理,判断down和up的像素差.其实这样操作相当不便,down-up这样的其实只能算拖动事

无法响应点击事件listview.OnItemClickListener 11_13

无法响应点击事件OnItemClickListener android:descendantFocusability="blocksDescendants"即可.这样Item Layout就屏蔽了所有子控件获取Focus的权限, beforeDescendants:viewgroup会优先其子类控件而获取到焦点 afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点 blocksDescendants:viewgroup会覆盖子类控件而直接获得焦

HttpWebRequest 模拟登录响应点击事件(开源自己用的HttpHelper类)

平时也经常采集网站数据,也做模拟登录,但一般都是html控件POST到页面登录:还没有遇到用户服务器控件button按钮点击事件登录的,今天像往常一样POST传递参数,但怎么都能登录不了:最后发现还有两个参数需要传,__EVENTVALIDATION和__VIEWSTATE 在传的过程中需要对参数值进行URL编码 System.Web.HttpUtility.UrlEncode(value) 模拟登录代码:在本地写的一个测试的网站来模拟登录,原理都一样: Request request = ne

设置TextView下划线并响应点击事件(SpannableString)

写Demo程序的时候能表带自定义的数据结构对象吗? --低级程序猿 前情提要:网上介绍TextView+SpannableString的文章真心太长,真心看不懂. ====原文===== 下面是一个20行的完整Demo代码:基本原理是使用一个SpannableString并设置其ClickableSpan来响应点击事件. TextView useInfo = (TextView) findViewById(R.id.info); String url_0_text = "用户协议及隐私条款&qu

[android篇]textview中片段响应点击事件(SpannableString)

项目需求 点击textView中的一小段文字,弹一个dialog框 失败解决方案 刚开始是用了两个textView水平布局,可想而知,当第一个textView快占满一行,还未换行时,第二个textView很可能出现换行排版问题 用spannableString的问题 小段文字有下划线 点击textView中的小段文字时,系统会当做url处理,给点击部分的text加一个蓝色的背景 解决方案 public class TouchableSpan extends ClickableSpan { pri

iOS开发随笔 31:UIButton无法响应点击事件

问题描述 因为项目需要,需要UITableView上添加固定的筛选表头,一直固定,不能随UITableView滚动.所以直接将表头与UITableView分离,将它添加到控制器的UIView上,即添加到UITableView的父视图上,与UITableView同级.然后表头上添加三个UIButton,效果达到预期,但问题随即出现.筛选表头上的UIButton无法响应点击事件,刚开始以为造成的原因是手误把UIButton的父视图或者UIButton属性userInteractionEnabled被

IOS UIImageView直接响应点击事件的解决方法

UIImageView的手势处理可以响应点击事件. 1.  self.allScreenImg.userInteractionEnabled = YES;//UIImageView默认不响应手势,需要开启userInteractionEnabled //处理单击事件 UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickAllScr

button不在父试图中,但是需要响应点击事件

当button不在父试图的范围内时,是无法响应点击事件的.项目中涉及了这个部分,之后写了个小demo(点击按钮,向上弹出两个button,并且都能响应点击事件),如下: 自定义view:CUMoreView ////  CUMoreView.h// #import <UIKit/UIKit.h> typedef void(^btnClickBlock)(UIButton *btn); @interface CUMoreView : UIView @property (nonatomic, co

TextView下划线,部分文字并响应点击事件(SpannableString)

TextView useInfo = (TextView) findViewById(R.id.info); useInfo.setText("开始即表示您同意遵守"); String url_0_text = "用户协议及隐私条款"; SpannableString spStr = new SpannableString(url_0_text); spStr.setSpan(new ClickableSpan() { @Override public void u