【问题标题】:Is there anyway to get my edittext highlighted?有没有让我的edittext突出显示?
【发布时间】:2012-09-04 05:15:16
【问题描述】:

我在我的应用程序中禁用了软键盘,因为我有自己的自定义键盘。但问题是当我单击编辑文本以通过我的自定义键盘输入数据时,编辑文本根本没有突出显示。甚至光标在相应单击的编辑文本中也不可见。为什么禁用软键盘时总是有副作用?我尝试了包括stackoverflow在内的所有源代码中的建议,但没有任何效果。我可以得到完美的解决方案,让点击时突出显示编辑文本吗?

【问题讨论】:

    标签: android android-edittext highlight


    【解决方案1】:

    您需要在点击时拨打textView.requestFocus() 这样您的editText 才能突出显示

    不要忘记添加您的 XML 文件 这个属性android:focusableInTouchMode="true" 到你的EditText

    【讨论】:

    • 感谢您的回复。但这也不起作用。我已经动态创建了edittexts,所以当我添加setFocusableInTouchMode(true) 时,软键盘会弹出。而当我添加 requestFocus 时,也没有什么不同。
    【解决方案2】:

    我不知道为什么会出现这些副作用,但在this post 中有一个解决方法,如何禁用键盘并仍然有光标。这对我有用,只是我还需要请求焦点,所以它是:

        //disable keypad
        et.setOnTouchListener(new OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent event) {
    
                int inType = et.getInputType(); // backup the input type
                et.setInputType(InputType.TYPE_NULL); // disable soft input
                et.onTouchEvent(event); // call native handler
                et.setInputType(inType); // restore input type
                et.requestFocus(); // request focus
                return  true; // consume touch even
            }
            });
    

    【讨论】:

    • 感谢您的宝贵时间。但在我的情况下它也不起作用。确实有很多问题没有答案,或者有些问题的答案很模糊,比如软键盘、缺少 R.java 文件等,
    • 是什么不工作?键盘出现了还是没有光标?
    猜你喜欢
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 2012-06-02
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    相关资源
    最近更新 更多