检测后退按键 - 键盘打开时

RVG*_*RVG 5 android

键盘打开时如何检测android后退键?

键盘隐藏时我想隐藏listview.

我使用下面的代码

final View activityRootView = findViewById(R.id.globallayout);

        activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() 
            {

                int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();

                if (heightDiff > 55) 
                { 
//keyboard is showing.
                }
                else  {

                    if(PopUpLayoutList.getVisibility()==View.VISIBLE){
                                            PopUpLayoutList.setVisibility(View.GONE);
                    }
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

但是,如果列表包含超过500行.键盘没有正确隐藏.需要5至10秒.

怎么解决这个?

小智 -6

您可以尝试重写 onBackPressed (请参阅官方文档),如下所示:

@Override
public void onBackPressed(){
    super.onBackPressed();    //This will call the normal operation pressing
                              // Back key
    myListView.setVisibility(View.GONE);    //This will hide yout listView Object
}
Run Code Online (Sandbox Code Playgroud)

假设 myListView 是您之前设置的 ListView 对象(例如在 onCreate 方法中)。

希望它能解决您的问题