我在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
设为可见,然后请求焦点。
答案 0 :(得分:0)
也许它可以帮助您:
在您的EditText
中作为第一个孩子创建假 CardView
,并将width
和height
设置为零或将可见性设置为gone
,因此他将默认获得焦点,并且主要 EditText
中的焦点将在您只需将焦点设置为焦点即可:
etProblem.requestFocus();