如何在android中更新菜单项

时间:2016-05-08 04:53:46

标签: android

我有一个菜单项活动。每次用户参加此活动时,我都希望使用某个Utility值更新textView的值。这是我的代码。

SOURCE PATH
    document.fla
↪   nealdavis/
    ↪   calculations/
        ↪   GeoMath.as
            ...

这只是更新一次值(启动活动时)。但是当用户从此活动移动并再次进行此活动时,即使更新了Utility.ShoppingCartItemCount()的值,也不会更新。

如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

尝试invalidateOptionsMenu()

这将再次调用onCreateOptionsMenu(Menu)。

修改

我有一些代码如下

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    if (currentPage == 8) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_p, menu);
        return true;
    } else {
        return false;
    }
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.purchaseRestore:
            // TODO: Restore purchase
            return true;
        case R.id.purchaseTerm:
            // TODO: Show Term by WebView
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

当我的用户点击其他按钮时,在Button的OnClickListener中将currentate = 8之后的invalidateOptionsMenu()放入。结果,用户可以显示选项菜单。

编辑))

invalidateOptionsMenu()将强制重新加载onCreateOptionsMenu和onPrepareOptionsMenu。

如果此方法不适合您,请尝试调试Utility.ShoppingCartItemCount()。