android 注释的 onResume

onResume for android annotations

我正在使用 android 注释并且有一些代码需要在 activity.

的 onResume() 函数中执行

仅从 android 注释 activity(即使用 @EActivity)覆盖 onResume 函数是否安全?

是的。只需调用 super.onResume() 然后添加您的代码。

我会像他们在此处创建示例一样这样做:https://github.com/excilys/androidannotations/wiki/Enhance-activities

是的,您应该像使用普通 Android 活动一样使用这些生命周期方法。不过有一件事:injected Views are not yet available in your onCreate method, this is why @AfterViews 存在:

@EActivity(R.layout.views_injected)
public class ViewsInjectedActivity extends Activity {

    @ViewById
    Button myButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // myButton is not yet available here
    }

    @AfterViews
    void setupViews() {
        // myButton is first available here
        myButton.setText("Hello");
    }

    @Override
    protected void onResume() {
        super.onResume();
        // just as usual
    }
}

您可以将自定义 class 与 android 的生命周期组件绑定。它包含 android 组件的生命周期信息,以便您的自定义 class 观察生命周期变化。

public class MyObserver implements LifecycleObserver {
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    public void connectListener() {
        ...
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
    public void disconnectListener() {
        ...
    }
}

myLifecycleOwner.getLifecycle().addObserver(new MyObserver());