在Android中以编程方式触发动作栏菜单项

开发者

我有带菜单项的操作栏。当我单击刷新图标时,我有显示进度条的方法。

我想在加载此活动时进行。因此,我尝试以编程方式将刷新图标项称为click:

onOptionsItemSelected(menu.findItem(R.id.action_Refresh)); 

创建菜单后,我将调用上述内容。

但这在加载我的数据时给出了空指针异常。如果单击“刷新”按钮,它可以正常工作,但是如果我以编程方式调用它,则会收到错误消息。

这是我所拥有的:

 @Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    this.optionsMenu = menu;
    getMenuInflater().inflate(R.menu.main, menu);

    onOptionsItemSelected(menu.findItem(R.id.action_Refresh));

    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    switch (item.getItemId()) 
    {
    case R.id.action_about:
        aboutapp();
        return true;

    case R.id.action_Refresh:
        Log.e("REfressh","Clicked");
        Mapsthree.refreshValue = 0;
        timer = new Timer();
        timerMethod();
        setRefreshActionButtonState(true);
        displayView(1);
        return true;

    default:
        return super.onOptionsItemSelected(item);
    }
}

private void timerMethod()
{
    timer.scheduleAtFixedRate(new TimerTask() 
    {
        @Override
        public void run() 
        {
            updateProgressBar();
        }

    }, 0, 800);
}

private void updateProgressBar() 
{
    runOnUiThread(new Runnable() 
    {
        public void run() 
        {
            if (Maps.refreshValue == 1)
            {
                setRefreshActionButtonState(false);
                timer.purge();
                timer.cancel();
            }
        }
    });
}

public void setRefreshActionButtonState(final boolean refreshing) 
{
    if (optionsMenu != null) 
    {
        final MenuItem refreshItem = optionsMenu.findItem(R.id.action_Refresh);
        if (refreshItem != null) 
        {
            if (refreshing) 
            {
                refreshItem.setActionView(R.layout.actionbar_indeterminate_progress);
            } 
            else 
            {
                refreshItem.setActionView(null);
            }
        }
    }
}

是否可以通过编程方式调用菜单项?如果是这样怎么办?

谢谢!

拉维坎特

你为什么叫它onCreateOptionsMenu

您可以根据需要编写用于加载的代码onCreateonResume方法:

@Override
protected void onCreate(Bundle arg0) {

    super.onCreate(arg0);

    //whatever you are doing

    //now code for refresh

    Log.e("REfressh","First time");
    Mapsthree.refreshValue = 0;
    timer = new Timer();
    timerMethod();
    setRefreshActionButtonState(true);
    displayView(1);
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Android中以编程方式触发动作栏菜单项

来自分类Dev

以编程方式触发Eclipse插件菜单项?

来自分类Dev

如何以编程方式触发动作?

来自分类Dev

动作栏菜单项文本颜色

来自分类Dev

动作栏-拖动菜单项

来自分类Dev

Android:以编程方式更新菜单项会导致NullPointerException

来自分类Dev

Android:以编程方式更新菜单项会导致NullPointerException

来自分类Dev

Android,以编程方式更改菜单项的标题

来自分类Dev

以编程方式更改菜单项在android中不起作用

来自分类Dev

以编程方式删除弹出菜单项

来自分类Dev

Android,工具栏布局中的位置菜单项

来自分类Dev

Android,工具栏布局中的位置菜单项

来自分类Dev

android-菜单项未显示在操作栏中

来自分类Dev

Android操作栏菜单项

来自分类Dev

如何在剑道菜单中以编程方式选择菜单项

来自分类Dev

动作栏溢出菜单项图标填充

来自分类Dev

如何将菜单项显示为片段中工具栏上的动作

来自分类Dev

以编程方式自定义弹出菜单项中的文本

来自分类Dev

从以编程方式创建的UITextView IOS中删除“复制”菜单项

来自分类Dev

从以编程方式创建的UITextView IOS中删除“复制”菜单项

来自分类Dev

以编程方式自定义 C# WPF 中的上下文菜单项

来自分类Dev

如何以编程方式隐藏导航抽屉菜单项?

来自分类Dev

在Winforms中的工具栏菜单项旁边放置热键/快捷方式文本

来自分类Dev

在标题栏工具栏android中添加菜单项文本和文本

来自分类Dev

菜单栏中未显示的菜单项

来自分类Dev

在Android中调整溢出菜单项

来自分类Dev

如何在odoo中查找菜单项的动作ID?

来自分类Dev

以编程方式将 MS Access DB 文件中的子菜单项添加到菜单条

来自分类Dev

Android-如何在片段类中访问操作栏的菜单项

Related 相关文章

  1. 1

    在Android中以编程方式触发动作栏菜单项

  2. 2

    以编程方式触发Eclipse插件菜单项?

  3. 3

    如何以编程方式触发动作?

  4. 4

    动作栏菜单项文本颜色

  5. 5

    动作栏-拖动菜单项

  6. 6

    Android:以编程方式更新菜单项会导致NullPointerException

  7. 7

    Android:以编程方式更新菜单项会导致NullPointerException

  8. 8

    Android,以编程方式更改菜单项的标题

  9. 9

    以编程方式更改菜单项在android中不起作用

  10. 10

    以编程方式删除弹出菜单项

  11. 11

    Android,工具栏布局中的位置菜单项

  12. 12

    Android,工具栏布局中的位置菜单项

  13. 13

    android-菜单项未显示在操作栏中

  14. 14

    Android操作栏菜单项

  15. 15

    如何在剑道菜单中以编程方式选择菜单项

  16. 16

    动作栏溢出菜单项图标填充

  17. 17

    如何将菜单项显示为片段中工具栏上的动作

  18. 18

    以编程方式自定义弹出菜单项中的文本

  19. 19

    从以编程方式创建的UITextView IOS中删除“复制”菜单项

  20. 20

    从以编程方式创建的UITextView IOS中删除“复制”菜单项

  21. 21

    以编程方式自定义 C# WPF 中的上下文菜单项

  22. 22

    如何以编程方式隐藏导航抽屉菜单项?

  23. 23

    在Winforms中的工具栏菜单项旁边放置热键/快捷方式文本

  24. 24

    在标题栏工具栏android中添加菜单项文本和文本

  25. 25

    菜单栏中未显示的菜单项

  26. 26

    在Android中调整溢出菜单项

  27. 27

    如何在odoo中查找菜单项的动作ID?

  28. 28

    以编程方式将 MS Access DB 文件中的子菜单项添加到菜单条

  29. 29

    Android-如何在片段类中访问操作栏的菜单项

热门标签

归档