1

我试图在我的操作栏中创建一个进度条微调器,并在删除微调器时出现错误:

这是我的代码

  public void setRefreshActionButtonState(final RefreshState state) {
    //new ActionButtonState(state).execute();
    if (optionsMenu != null) {
      final MenuItem refreshItem = optionsMenu
          .findItem(R.id.menuRefresh);
      if (refreshItem != null) {
        if (state == RefreshState.REFRESHING) {
          refreshItem.setActionView(R.layout.progress);
        } else if (state == RefreshState.SUBSCRIPTION_ACTIVE) {
          refreshItem.setActionView(null);
          refreshItem.setIcon(R.drawable.ic_subscription_on_48dp);
        } else {
          refreshItem.setActionView(null);
          refreshItem.setIcon(R.drawable.ic_subscription_off_48dp);
        }
      }
    }

  }

如果我删除refreshItem.setActionView(null); 或注释掉错误消失。

这是我的progress.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_height="wrap_content"
             android:layout_width="56dp"
             android:minWidth="56dp">
  <ProgressBar android:layout_width="32dp"
               android:layout_height="32dp"
               android:layout_gravity="center"
      android:id="@+id/refreshing_progress"/>
</FrameLayout>

我也尝试使用 AsyncTask 来执行此操作并得到相同的错误。

我从http://www.michenux.net/android-refresh-item-action-bar-circular-progressbar-578.html获得了我的原始教程

4

1 回答 1

0

事实证明,我的应用程序中有另一个进程对应于该事件序列并导致问题。

于 2015-12-27T16:25:08.903 回答