我在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,但它没有帮助
答案 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;
}
});