键盘打开时如何检测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 方法中)。
希望它能解决您的问题