Как использовать метод onWindowFocusChanged ()? - PullRequest
23 голосов
/ 28 октября 2011

Я запутался в том, как вызвать событие при изменении активности.Одна вещь, которую я знаю, - это использование onWindowFocusChanged() метода, но я не знаю, как его использовать.Пожалуйста, помогите в одном примере, то есть, когда активность меняется, на ней должен быть тост с надписью «Активность изменена».

Ответы [ 3 ]

29 голосов
/ 28 октября 2011

Следующий метод вызывается при изменении фокуса окна. Например, если окно фокусируется на выигрыше / убытке, оно будет запущено. В случае, если окно получает фокус, hasFocus имеет значение true и false в противном случае.

 public void onWindowFocusChanged(boolean hasFocus) {         
            super.onWindowFocusChanged(hasFocus);
            if(hasFocus) 
                Toast.makeText(context, text, duration).show();
    }
2 голосов
/ 31 августа 2017
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        if(!hasFocus) {
            //do anything you want here
            Toast.makeText(MainActivity.this,"Activity changed",Toast.LENGTH_SHORT).show();
        }
    }

}

Это может помочь ...

0 голосов
/ 19 февраля 2018

Вызывается, когда текущее окно действия получает или теряет фокус.Это лучший показатель того, видна ли эта активность пользователю.Реализация по умолчанию очищает состояние отслеживания ключа, поэтому всегда должна вызываться.

@Override
public void onWindowFocusChanged(boolean hasFocas) {
    super.onWindowFocusChanged(hasFocas);
    //your code here
}

hasFocus boolean: Имеет ли окно этого действия фокус.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...