使EditText不可点击,但仍具有焦点

时间:2019-06-19 09:22:23

标签: java android

我在EditText中有一个CardView

选择CardView时,我要求聚焦EditText,请参见下文:

cardProblem.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {    
        //request focus                      
        etProblem.requestFocus();
        //display keyboard
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.showSoftInput(etProblem, InputMethodManager.SHOW_IMPLICIT);
    }
});

问题是我不希望EditText是可点击的(当前,当我点击EditText时,它会成为焦点)。

我了解,当我不希望它被点击时,我可以添加:

android:clickable="false"
android:focusable="false"

但是在这种情况下,我无法将focusable设置为false,因为EditText在编辑时需要聚焦。


有什么办法可以解决这个问题吗?


我已解决,有点... 由于我没有时间浪费,因此我进行了以下操作:

我决定将EditText的可见性设置为invisible,并选择CardView后,我将EditText设为可见,然后请求焦点。

1 个答案:

答案 0 :(得分:0)

也许它可以帮助您:

在您的EditText中作为第一个孩子创建 CardView,并将widthheight设置为或将可见性设置为gone,因此他将默认获得焦点,并且主要 EditText中的焦点将在您只需将焦点设置为焦点即可:

etProblem.requestFocus();