gpt4 book ai didi

android - ActionBarSherlock - 不确定的进度

转载 作者:行者123 更新时间:2023-11-29 15:26:27 30 4
gpt4 key购买 nike

很明显,要显示/隐藏不确定的进度,您必须使用此方法:

itemMenu.setActionView(...);

所以:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_refresh:
item.setActionView(R.layout.indeterminate_progress_action);
runAsyncTask();
...
}
}

我不清楚的是:如何将操作 View 设置回 null。我不想保留对 MenuItem 的引用,我认为这是不正确的,因为我不想对 OptionsMenu 生命周期做出任何假设。

我应该如何在 onPostExecute 上将操作 View 设置回 null?

最佳答案

我是这样做的:

refresh = false; // the future state of your indeterminate progress
invalidateOptionsMenu(); // trigger the recreation of the menu and call onCreateOptionsMenu(Menu)

然后在你的 onCreateOptionsMenu(Menu) 方法中:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
super.onCreateOptionsMenu(menu, inflater);

MenuItem refreshItem = menu.add(Menu.NONE, R.id.action_bar_refresh, 1, "Refresh");
refreshItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

if(refresh)
refreshItem.setActionView(R.layout.indeterminate_progress_action);
else
refreshItem.setIcon(R.drawable.ic_menu_refresh);
}

关于android - ActionBarSherlock - 不确定的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12305578/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com