如何使用onWindowFocusChanged()方法?

abu*_*buy 24 android

我很困惑如何在活动发生变化时触发事件.我知道的一件事是使用onWindowFocusChanged()方法,但我不知道如何使用它.请帮助一个例子,即当活动改变时,它应该显示一个吐司说"活动改变".

Ren*_*eno 30

当窗口焦点发生变化时,将调用以下方法.例如,如果窗口增益/损失集中,它将被触发.如果窗口获得焦点,hasFocus则为true,否则为false.

 public void onWindowFocusChanged(boolean hasFocus) {         
            super.onWindowFocusChanged(hasFocus);
            if(hasFocus) 
                Toast.makeText(context, text, duration).show();
    }
Run Code Online (Sandbox Code Playgroud)

  • 如果你需要在片段中使用它怎么办? (4认同)
  • 我不明白什么是获得或失去专注的意思? (2认同)

M.U*_*man 5

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();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

这可能会有所帮助...