Android ActionBarSherlock ProgressBar始终不确定

时间:2013-02-04 11:51:34

标签: android actionbarsherlock android-progressbar

我有一个扩展SherlockActivity的活动,但进度条总是不确定的,即使没有将其设置为true或将其设置为false。

我已经检查了导入:

import com.actionbarsherlock.view.Window;

活动事实上延伸了Sherlock:

public class MyActivity extends SherlockActivity {

这是onCreate方法:

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    setProgressBarIndeterminate(false);
    setSupportProgressBarIndeterminateVisibility(false);

在任何地方我都没有把它设置为真,但它仍然没有离开。

清单:

   <activity
        android:name=".activities.MyActivity"
        android:screenOrientation="portrait" >
    </activity>

可能导致这种情况的任何想法?

谢谢!

5 个答案:

答案 0 :(得分:2)

我只是启用和禁用ActionBarShareLock ProgressBar。

不确定但可能对您有所帮助。 以下是我的代码:

public class IndeterminateProgress extends SherlockActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    setTheme(SampleList.THEME); //Used for theme switching in samples
    super.onCreate(savedInstanceState);

    //This has to be called before setContentView and you must use the
    //class in com.actionbarsherlock.view and NOT android.view
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

    setContentView(R.layout.iprogress);

    findViewById(R.id.enable).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {
            setSupportProgressBarIndeterminateVisibility(true);
        }
    });
    findViewById(R.id.disable).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {
            setSupportProgressBarIndeterminateVisibility(false);
        }
    });
}

}

<强>更新

你试试这个:

  getSherlock().setProgressBarIndeterminate(indeterminate);

 getSherlock().setProgressBarVisibility(visible);

我的意思是在转到Ideterminate或更改其可见性之前尝试使用call getSherlock()。

让我对结果发表评论。

希望这会对你有所帮助。

答案 1 :(得分:1)

试试如下:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
      requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
      requestWindowFeature(Window.FEATURE_PROGRESS);
      setContentView(R.layout.browser);
      setProgressBarIndeterminateVisibility(true);
      setProgressBarVisibility(true);         
      findViewById(R.id.enable).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {
         setProgressBarIndeterminateVisibility(false);
             setProgressBarVisibility(false);
    }
  });
    }

答案 2 :(得分:1)

好吧,

我找不到为什么它总是不确定的解释。 此外,这肯定是行不通的

getSherlock().setProgressBarIndeterminate(false);

但是使用

getSherlock().setProgressBarIndeterminateVisibility(false);

似乎解决了这个问题。

答案 3 :(得分:1)

这样做 在您宣布活动视图通过进度条之前,在定义视图后禁用进度条的可见性,然后在您点击的任何位置启用栏的可见性

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);  
            setContentView(R.layout.yourlayout);
            setSupportProgressBarIndeterminateVisibility(false);
            ......
                ......
                     .........
                      ...OnClick()
                          {
                           setSupportProgressBarIndeterminateVisibility(true);
                            }
                             .............

答案 4 :(得分:0)

这是我遇到的同样问题,我花了5个小时来调试ABS来调查问题。解决方案非常简单:

使用:

  

com.actionbarsherlock.view.Window.FEATURE_INDETERMINATE_PROGRESS

像:

  

requestWindowFeature(com.actionbarsherlock.view.Window.FEATURE_INDETERMINATE_PROGRESS);

而不是:

  

android.view.Window.FEATURE_INDETERMINATE_PROGRESS