Edittexts不会隐藏Imageview

时间:2016-09-17 13:33:24

标签: java android keyboard


为什么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;
}

}

1 个答案:

答案 0 :(得分:1)

有几个原因。

1)您只在onCreate中检查isKeyboardOpen。在onCreate期间,您还没有点击编辑文本。所以它永远不会隐藏。要使其在任何单击时消失,请将其放在OnClickListener中。

2)你设置它的方式,因为你要覆盖hideKeyboard对象,你只会检查第二个编辑文本。如果要检查其中一个,请更改HideKeyboard类以获取多个EditTexts,或使用多个HideKeyboard对象,保存所有这些对象,并检查所有这些对象。