如果从内部调用API,onPrepareOptionsMenu行为很奇怪

文基

我需要根据API调用响应启用和禁用菜单项,并且每次菜单出现时都必须调用它。

我需要asynctask,因为我必须显示进度栏

    @Override
    public boolean onPrepareOptionsMenu (Menu menu) {
       handleMenuItems(menu)

     }

    private void handleMenuItems(menu)
    {


        new AsyncTask<Void, Void, Void>(){

            @Override
            protected Void doInBackground(Void... params) {
                //API call                  
                return null;
            }

            @Override
            protected void onPostExecute(Void result) {
                super.onPostExecute(result);
                if (progressDialog != null)
                    progressDialog.hide();

                               //necessary menu items are enabled and disabled
                                super.onPrepareOptionsMenu(menu);
            }

            @Override
            protected void onPreExecute() {
                if (progressDialog != null){
                    progressDialog.setMessage("Checking");
                    progressDialog.show();
                }
                super.onPreExecute();
            }

        }.execute();

    }

每当我触摸选项菜单时,onPrepareOptionsMenu都会被调用,而选项菜单不会出现,然后当我再次按下它时,onPrepareOptionsMenu不会被调用,并且选项菜单会出现。

我希望每次调用该API时都可以调用该API,并在我触摸选项菜单时显示菜单。

沙城

您不应该在其中显示和隐藏进度对话框 OnPrepareOptionsMenu

注释掉进度对话框的代码,其余代码都可以,并且可以按预期工作

注意:

  • 您呼吁super.OnPrepareOptionsMenuOnPostExecute(UI线程)

  • 由于不需要进度条,请不要删除AsyncTask,否则会导致我的崩溃

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

快速奇怪的行为-内部函数调用和外部函数调用

来自分类Dev

javascript调用方法的奇怪行为

来自分类Dev

如果在脚本内部调用,Rsync的行为会有所不同

来自分类Dev

奇怪的 UICollectionViewCell 行为,如果浮动大小

来自分类Dev

奇怪的C#平台调用/ DLLImport行为

来自分类Dev

奇怪的fork()行为(先前的printf被调用)

来自分类Dev

在viewDidLoad中调用addSubView时的奇怪行为

来自分类Dev

R - 简单调用 `sample()` 的奇怪行为

来自分类Dev

OnPrepareOptionsMenu 在菜单创建后被调用

来自分类Dev

Onenote API,从JavaScript修补时的奇怪行为

来自分类Dev

Azure api管理中包含。奇怪的行为

来自分类Dev

从AppCompat v22(API 10)开始未调用Fragment中的onPrepareOptionsMenu

来自分类Dev

泛型对带有instanceOf check的内部类的行为很奇怪

来自分类Dev

$in 内部查询,MongoDB 中没有结果,奇怪的行为

来自分类Dev

theano T.switch():如果张量为空奇怪的行为

来自分类Dev

UIScrollView。如果contentOffset太大,则会出现分页的奇怪行为

来自分类Dev

如果QVTKWidget是QMainWindow的中央小部件,则QMainMenu的行为会很奇怪

来自分类Dev

$ parse的奇怪行为(如果传递的字符串以数字开头)

来自分类Dev

奇怪的行为

来自分类Dev

奇怪的行为

来自分类Dev

奇怪的行为

来自分类Dev

为什么调用错误的方法:奇怪的继承行为

来自分类Dev

泛型类中函数调用的奇怪行为

来自分类Dev

有关.NET事件的奇怪函数调用行为

来自分类Dev

PHP奇怪的行为:ReflectionClass :: isCloneable()调用析构函数?

来自分类Dev

从REFPROP FORTRAN文件调用属性时出现奇怪的行为

来自分类Dev

预测行为的奇怪行为

来自分类Dev

调用OnPrepareOptionsMenu会产生空指针异常

来自分类Dev

不调用onPrepareOptionsMenu,不显示MenuItem

Related 相关文章

  1. 1

    快速奇怪的行为-内部函数调用和外部函数调用

  2. 2

    javascript调用方法的奇怪行为

  3. 3

    如果在脚本内部调用,Rsync的行为会有所不同

  4. 4

    奇怪的 UICollectionViewCell 行为,如果浮动大小

  5. 5

    奇怪的C#平台调用/ DLLImport行为

  6. 6

    奇怪的fork()行为(先前的printf被调用)

  7. 7

    在viewDidLoad中调用addSubView时的奇怪行为

  8. 8

    R - 简单调用 `sample()` 的奇怪行为

  9. 9

    OnPrepareOptionsMenu 在菜单创建后被调用

  10. 10

    Onenote API,从JavaScript修补时的奇怪行为

  11. 11

    Azure api管理中包含。奇怪的行为

  12. 12

    从AppCompat v22(API 10)开始未调用Fragment中的onPrepareOptionsMenu

  13. 13

    泛型对带有instanceOf check的内部类的行为很奇怪

  14. 14

    $in 内部查询,MongoDB 中没有结果,奇怪的行为

  15. 15

    theano T.switch():如果张量为空奇怪的行为

  16. 16

    UIScrollView。如果contentOffset太大,则会出现分页的奇怪行为

  17. 17

    如果QVTKWidget是QMainWindow的中央小部件,则QMainMenu的行为会很奇怪

  18. 18

    $ parse的奇怪行为(如果传递的字符串以数字开头)

  19. 19

    奇怪的行为

  20. 20

    奇怪的行为

  21. 21

    奇怪的行为

  22. 22

    为什么调用错误的方法:奇怪的继承行为

  23. 23

    泛型类中函数调用的奇怪行为

  24. 24

    有关.NET事件的奇怪函数调用行为

  25. 25

    PHP奇怪的行为:ReflectionClass :: isCloneable()调用析构函数?

  26. 26

    从REFPROP FORTRAN文件调用属性时出现奇怪的行为

  27. 27

    预测行为的奇怪行为

  28. 28

    调用OnPrepareOptionsMenu会产生空指针异常

  29. 29

    不调用onPrepareOptionsMenu,不显示MenuItem

热门标签

归档