2015-12-17 8 views
0

Я пытаюсь использовать onWindowFocusChanged в приложении, но они не поддерживают леденец.onWindowFocusChanged не работает в Lollipop?

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 

    super.onWindowFocusChanged(hasFocus); 
    Log.e(TAG, "onWindowFocusChanged, " + hasFocus); 
    mWindowhasFocus = hasFocus; 

} 
+0

http://developer.android.com/intl/ru/reference/android/app/Activity.html#onWindowFocusChanged%28boolean%29 - вы делаете что-то не так – pvllnspk

ответ

0

Нет, это фактически работает на Lollipop (и даже на Зефир - я проверил).

The documentation об этом методе говорит:

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

Я написал очень простой один-Activity-тест приложение: MainActivity.java

public class MainActivity extends AppCompatActivity { 

    TextView statusTextView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     statusTextView = (TextView)findViewById(R.id.statusTextView); 
    } 

    @Override 
    public void onWindowFocusChanged(boolean hasFocus) { 
     super.onWindowFocusChanged(hasFocus); 
     String newStatus = statusTextView.getText() + (hasFocus? "Got focus" : "Lost focus") + "\n"; 
     statusTextView.setText(newStatus); 
    } 
} 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="16dp"> 
    <TextView 
     android:id="@+id/statusTextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</RelativeLayout> 

Так, переместив приложение на фоне назад и вперед, вы можете увидеть, как состояние меняется.

Смежные вопросы