簡體   English   中英

Intermediate Progress不適用於在Gingerbread上運行的ActionBarSherlock

[英]Intermediate Progress doesn't work with ActionBarSherlock running on Gingerbread

我用我的應用程序設置了ActionBarSherlock,我正在嘗試使用Intermediate Progress,我正在使用它:

    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);    
    setSupportProgressBarIndeterminateVisibility(false);

在我的onCreate中,然后使用:

    setSupportProgressBarIndeterminateVisibility(true);

啟用它。

它在ICS中運行良好,但它在Gingerbread或Froyo中根本不起作用,有誰知道如何讓它工作? 謝謝

我剛遇到同樣的問題。 上面的傑克解決方案沒有為我解決 - 方法未定義。

我在這里找到了一個由Jake發布的ActionBarSherlock錯誤列表的工作解決方案:

請參閱Jake對海報的回應 - 首先調用getSupportActionBar()來“觸發創建視圖”。

所以我的onCreate()方法是:

protected void onCreate(Bundle arg0)
{
    super.onCreate(arg0);

    // allow window to show progress spinner in the action bar
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    getSupportActionBar();
    setSupportProgressBarIndeterminateVisibility(false); 
}

根據Laux的評論更新:

確保您的導入反映了com.actionbarsherlock.view.Window.FEATURE_INDETERMINATE_PROGRESS ,以使其正常工作。

以下是來自使用此模式的應用程序的import塊的一部分:

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.ActionProvider;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.Window;
import com.actionbarsherlock.widget.ShareActionProvider;

使用ABS時要記住這是一件非常好的事情 - 許多正常的Android導入應該更新以引用ABS。

重新訪問導入塊可能是一個好主意,或者可能完全刪除它並讓Eclipse為您重建(CTRL-SHIFT-O),Eclipse將提示您重新獲取ABS重新導入的每個導入。

Glebbb在他的回答中也解釋了這一點。

我相信你現在可能已經知道了,但最可能的罪魁禍首是你包含了錯誤的文件,因為它很容易自動完成。

com.actionbarsherlock.view.Window替換android.view.Window的任何導入,所需的功能將起作用。

您需要調用supportRequestWindowFeature

requestWindowFeatureActivity的最終方法,無法覆蓋。

如果您正在使用Theme.Sherlock.NoActionBar或此類活動的類似無操作欄主題,請檢查。 在這種情況下, setSupportProgressBarIndeterminateVisibility方法失敗了

Caused by: java.lang.NullPointerException
at com.actionbarsherlock.internal.ActionBarSherlockCompat.updateProgressBars(ActionBarSherlockCompat.java:710)
at com.actionbarsherlock.internal.ActionBarSherlockCompat.onIntChanged(ActionBarSherlockCompat.java:686)
at com.actionbarsherlock.internal.ActionBarSherlockCompat.updateInt(ActionBarSherlockCompat.java:681)
at com.actionbarsherlock.internal.ActionBarSherlockCompat.setFeatureInt(ActionBarSherlockCompat.java:665)
at com.actionbarsherlock.internal.ActionBarSherlockCompat.setProgressBarIndeterminateVisibility(ActionBarSherlockCompat.java:637)
at com.actionbarsherlock.app.SherlockFragmentActivity.setSupportProgressBarIndeterminateVisibility(SherlockFragmentActivity.java:282)

我想您應該使用進度對話框來指示加載過程或帶有活動標題欄的常規Theme ,然后對舊平台使用setProgressBarIndeterminateVisibility方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM