带有TouchListener的android EditText仅在第二次点击时获得焦点

时间:2015-12-16 11:52:56

标签: android android-edittext scrollview ontouchlistener

我在EditText中添加了一个setOnTouchListener,以便在用户点击它时滚动屏幕。 它可以工作,但是在第一次单击时它会滚动,只有在第二次单击时,EditText会聚焦并打开软键盘。 如何让EditText在第一次点击时聚焦,而不仅仅是在第二次点击?

et_email = (EditText) view.findViewById(R.id.editEmail);

et_email.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        ScrollView scrollView = (ScrollView) getView().findViewById(R.id.ScrollViewSendDetails);
        scrollView.smoothScrollTo(0, et_email.getBottom() + 200);
        return false;
    }
});

btw我试图添加this,但它没有帮助

1 个答案:

答案 0 :(得分:0)

使用预定义方法

   et_email = (EditText) view.findViewById(R.id.editEmail);

    et_email.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            ScrollView scrollView = (ScrollView) getView().findViewById(R.id.ScrollViewSendDetails);
            scrollView.smoothScrollTo(0, et_email.getBottom() + 200);
            // method you can use to focus on edittext
            et_email.requestFocus();

            return false;
        }
    });