• popupwindow和外部输入EditText控件焦点问题!!求大神帮帮小弟吧,老板催的紧啊!!!55555


    ============问题描述============



    如图,我现在的任务是移植android4.0的自动完成文本框到低版本的系统中。
    我给图中的EditText绑定了一个TextWatcher监听器,只要EditText中的内容发生了变化,就打开下拉列表进行匹配。所以只要我输入一个字母,就开始匹配,然后弹出下拉列表。
    这时候问题来了,如果我设置popupwindow得到焦点,这时候的下拉列表是可以点击的,但是不能再输入了;但是如果设置popupwindow没有焦点,是可以正常输入的,但是popupwindow上的下拉列表就不能点击了!!两天了,看源码也没看出个所以然了
    所以跪求大神解答,强烈表示愿意为大神捡肥皂!!

    ============解决方案1============


        //设置可以获取焦点,否则弹出菜单中的EditText是无法获取输入的
        popWindow.setFocusable(true);
        //这句是为了防止弹出菜单获取焦点之后,点击activity的其他组件没有响应
        popWindow.setBackgroundDrawable(new BitmapDrawable()); 

    ============解决方案2============


    为什么要用popupwindow

    ============解决方案3============


    引用 楼主 ls1110924 的回复:

    如图,我现在的任务是移植android4.0的自动完成文本框到低版本的系统中。
    我给图中的EditText绑定了一个TextWatcher监听器,只要EditText中的内容发生了变化,就打开下拉列表进行匹配。所以只要我输入一个字母,就开始匹配,然后弹出下拉列表。
    这时候问题来了,如果我设置popupwindow得到焦点,这时候的下拉列表是可以点击的,但是不能再输入了;但是如果设置popupwindow没有焦点,是可以正常输入的,但是popupwindow上的下拉列表就不能点击了!!两天了,看源码也没看出个所以然了
    所以跪求大神解答,强烈表示愿意为大神捡肥皂!!

    设置popupwindow得到焦点,这时候的下拉列表是可以点击的。
    你可以截获popupwindow的消息,获取输入的内容把数据反映到EDIT控件上,毕竟是两个控制,没有两个焦点的说法,不过可以模拟效果来实现。
  • 相关阅读:
    Lesson 2 :
    Session 1 : 笔记
    SpringBoot 3 : 单元测试和开发环境调试
    SpringBoot 2 : 网络配置
    MS leetcode 题目
    研二上末
    时不我待
    Do, I do!
    LeetCode 精选 TOP 面试题
    基于attractor landscape研究疾病发展及药物研发
  • 原文地址:https://www.cnblogs.com/lianxu61/p/4046197.html
Copyright © 2020-2023  润新知