为什么EditText
在点击时隐藏imageview
xml中的imageview
有 - >机器人:知名度=“可见”
但是,如果我点击EditText
,则必须删除可见性。
HideKeyboard.class:
public class HideKeyboard {
private boolean isKeyboardOpen = false;
private EditText editText;
public HideKeyboard(EditText editText) {
editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
isKeyboardOpen = true;
}
});
}
public boolean getIsKeyboardOpen() {
return isKeyboardOpen;
}
}
FragmentDemo.class
private boolean isKeyboardOpen;
private HideKeyboard hideKeyboard;
private ImageView imageview;
private boolean isKeyboardOpen;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.demo_fragment_, container, false);
imageview= (ImageView) view.findViewById(R.id.image);
isKeyboardOpen = false;
hideKeyboard= new HideKeyboard(edittext1);
hideKeyboard= new HideKeyboard(edittext2);
isKeyboardOpen = hideKeyboard.getIsKeyboardOpen();
if (isKeyboardOpen) {
ivLogo.setVisibility(View.GONE);
}
}
return view;
}
}
答案 0 :(得分:1)
有几个原因。
1)您只在onCreate中检查isKeyboardOpen。在onCreate期间,您还没有点击编辑文本。所以它永远不会隐藏。要使其在任何单击时消失,请将其放在OnClickListener中。
2)你设置它的方式,因为你要覆盖hideKeyboard对象,你只会检查第二个编辑文本。如果要检查其中一个,请更改HideKeyboard类以获取多个EditTexts,或使用多个HideKeyboard对象,保存所有这些对象,并检查所有这些对象。