2011-10-28 14 views
16

Nie mam pojęcia, jak wywołać zdarzenie po zmianie działania. Jedna rzecz, którą znam używa metody onWindowFocusChanged(), ale nie wiem jak jej użyć. Pomóż w jednym z przykładów, np. Gdy aktywność się zmieni, powinna pokazać tosty "Zmieniono aktywność".Jak korzystać z metodyWindowFocusChanged()?

Odpowiedz

24

Następująca metoda zostaje wywołana po zmianie ostrości okna. Na przykład, jeśli ostrość/utrata okna będzie fokusować, zostanie wyzwolona. W przypadku, gdy okno zyskuje ostrość, hasFocus ma wartość true, a false w przeciwnym wypadku.

public void onWindowFocusChanged(boolean hasFocus) {   
      super.onWindowFocusChanged(hasFocus); 
      if(hasFocus) 
       Toast.makeText(context, text, duration).show(); 
    } 
+0

Czy możesz podać pełny kod tej funkcji? ponieważ kiedy użyłem tego kodu, nadal tam jest błąd. – user1008497

+0

Jaki błąd? To jest wywołanie zwrotne, dzięki czemu możesz dodać tutaj wszystko, co chcesz. – Reno

+0

Wiele znaczników w tym wierszu -Błąd błąd na tokenie "boolean", usuń ten token -hasofokus nie może być rozstrzygnięty -Błąd Sntax, wstaw ";" wypełnić oświadczenie używam Eclipse IDE – user1008497

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

} 

To może pomóc ...

0

Wywoływana, gdy prąd Okno zysków z działalności lub traci ostrość. Jest to najlepszy wskaźnik tego, czy ta aktywność jest widoczna dla użytkownika. Domyślna implementacja czyści kluczowy stan śledzenia, dlatego powinno być zawsze wywoływane.

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

hasFocus boolean: Określa, czy okno tego działania ma fokus.