android弹出dialog后,activity得到焦点的问题,activity能获得焦点,但是却不能获得里面的控件的点击事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android弹出dialog后,activity得到焦点的问题,activity能获得焦点,但是却不能获得里面的控件的点击事件相关的知识,希望对你有一定的参考价值。

你是想跳出dialog的时候,dialog里面的控件就获取焦点呢还是,点击dialog里面的控件获取焦点.
点击是自动获取的焦点,你让给他设置相应的点击事件监听.

要是点dialog以后就想让dialog里面的控件获取焦点,则要是给自己手动设置.追问

我是要获得activity里面的控件焦点 不是dialog里面的焦点

追答

跳出dialog,dialog自动获取了焦点.

想要是跳出dialog的时候 ,要手动设置焦点到你需要的控件之上.

参考技术A 真心没有明白你的追问

popupwindow的parent中有几个linnerlayout的ontuch事件,当我触摸时,popupwindow被创建,获得焦点,parent中的ontuch事件失效,如不获取焦点,parent中的ontuch事件有效,可是popupwindow不能获得焦点,里面的view 不能获得事件

setOutsideTouchable(true);是popupwindow外的触摸dismiss事件,与问题没有关系,请大虾帮忙,是能解决问题的方法,我发现大众点评的附近搜索界面就是实现的这功能,想实现和他相同功能,求指教

android 对话框Dialog拦截activity事件通知

在一个activity上面弹出Dialog时候,Dialog拥有页面的事件通知,包括点击,外接等等事件通知。那么有时候这些事件对Dialog来说是没有用的,是给activity使用的。

示例:

这是一个Activity中的dispatchKeyEvent事件,或者外接刷卡机器监听事件。需要activity处理的。

    @Override
    public boolean dispatchKeyEvent(KeyEvent event) 
        if (event.getAction() == KeyEvent.ACTION_DOWN) 
            int keyCode = event.getKeyCode();
            if (keyCode <= 6) 
                return false;
            
            if (mScanGun != null) 
                if (mScanGun.isMaybeScanning(keyCode, event)) 
                    return true;
                
            
        
        return super.dispatchKeyEvent(event);
    

这个时候弹出了一个Dialog进行提示操作之类

    //对话框事件 拦截去掉,给activity
    @Override
    public boolean dispatchKeyEvent(KeyEvent event) 
        if (mContext instanceof Activity)
            ((Activity) mContext).dispatchKeyEvent(event);
        
        if (isShowing())
            dismiss();
        
        return super.dispatchKeyEvent(event);
    

所以这个时候处理就是Dialog还在显示的话,就dismiss(),然后事件往下传递就行。这样下面的activity就能接收到 super.dispatchKeyEvent(event) 事件。

以上是关于android弹出dialog后,activity得到焦点的问题,activity能获得焦点,但是却不能获得里面的控件的点击事件的主要内容,如果未能解决你的问题,请参考以下文章

android 使用activity 当dialog弹出框 ,layout出现左右两边有间距

Android中弹出dialog后无法捕捉back键

android dialog 能不能实现这个功能,就是弹出的时候还可以操作原来的activity view

android activity弹出为啥向右

android将activity设置成自定义的Dialog怎么调整大小

android notification 点击弹出一个dialog,并把其中的消息传递过去