清除listview中edittext的焦点

时间:2014-02-07 06:58:02

标签: android

我有一个listview,每行都有edittext。当我点击编辑文本键盘来。然后当我点击后退按钮关闭键盘时,我想清除焦点。

由于listview布局在适配器中使用,我无法在活动中执行此操作。

请帮忙。

〜干杯 普拉卡什

1 个答案:

答案 0 :(得分:1)

使用此方法清除编辑文本的焦点:

private int tempHeight = 0;
private Rect r = null;

public void gettingStatusOfKeyboard() {
    final View activityRootView = findViewById(R.id.mainLayout);
    r = new Rect();
    activityRootView.getWindowVisibleDisplayFrame(r);
    tempHeight = r.bottom;

    activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            activityRootView.getWindowVisibleDisplayFrame(r);
            if(tempHeight == r.bottom){
                usernameEdit.setFocusable(false);
                passwordEdit.setFocusable(false);
            } 
        }
    });
}