2

我有一个扩展 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);

我在任何地方都没有将其设置为 true,但它仍然出现而不离开。

清单:

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

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

谢谢!

4

5 回答 5

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 或更改其可见性之前尝试调用 getSherlock()。

让我评论一下结果。

希望这会帮助你。

于 2013-02-04T12:18:55.617 回答
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);
    }
  });
    }
于 2013-02-04T12:08:58.867 回答
1

在您声明您的活动视图通过进度条之前执行此操作,并在定义您的视图之后禁用进度条的可见性,然后在您的任何点击上启用该条的可见性

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);  
            setContentView(R.layout.yourlayout);
            setSupportProgressBarIndeterminateVisibility(false);
            ......
                ......
                     .........
                      ...OnClick()
                          {
                           setSupportProgressBarIndeterminateVisibility(true);
                            }
                             .............
于 2013-05-18T23:54:59.180 回答
1

出色地,

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

getSherlock().setProgressBarIndeterminate(false);

但是使用

getSherlock().setProgressBarIndeterminateVisibility(false);

似乎解决了这个问题。

于 2013-02-04T18:46:35.767 回答
0

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

利用:

com.actionbarsherlock.view.Window.FEATURE_INDETERMINATE_PROGRESS

喜欢:

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

代替:

android.view.Window.FEATURE_INDETERMINATE_PROGRESS

于 2013-04-27T10:13:01.570 回答