Android - openOptionsMenu在onCreate中不起作用

nik*_*3ro 10 android

有没有其他方法可以在显示活动后调用openOptionsMenu而不使用以下内容:

new Handler().postDelayed(new Runnable() {
            public void run() {
                openOptionsMenu();
            }
        }, 1000); 

参考:http: //groups.google.com/group/android-beginners/browse_frm/thread/b10a8ea840c07725/1ce48bb147a3ed1a?#1ce48bb147a3ed1a

编辑:我会很感激像这样的例子:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Now I guess something like Window.Callback.onAttachedToWindow(...) should be done?
}

Cas*_*ash 21

Activity再看一遍,它已经有了onAttachedToWindow的方法,继承自Window.Callback,因为API级别为5.如果你使用的是这个级别,那么你只需在你的方法中覆盖这个方法Activity.

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    openOptionsMenu();
}
Run Code Online (Sandbox Code Playgroud)

如果您使用的是5之前的版本,则必须在View中覆盖onAttachedToWindow方法.如果您View是在代码中创建的,这很容易.如果它是在XMl中创建的,那就不那么难了 - 你应该在这里找到有用的说明.