Обнаружить нажатие клавиши назад - когда клавиатура открыта
Как определить андроида назад ключ, когда клавиатура открыта?
Я хочу скрыть просмотр списка, когда клавиатура скрыта.
я использовал код ниже
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);
}
}
}
});
Но, если список содержит более 500 строк. клавиатура не скрывается должным образом. это займет от 5 до 10 секунд.
Как это решить?
1 ответ
Вы можете попробовать переопределить 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
}
Предполагая, что myListView является объектом ListView, который вы установили ранее (например, в вашем методе onCreate).
Надеюсь, это решит ваш вопрос