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

ActionBarShareLockProgressBarを有効または無効にしているだけです。

わかりませんが、役立つかもしれません。以下は私のコードです:

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

上手、

なぜそれが常に不確定であるのかについての説明を見つけることができません。また、これは間違いなく機能していません

getSherlock().setProgressBarIndeterminate(false);

ただし、

getSherlock().setProgressBarIndeterminateVisibility(false);

問題を解決しているようです。

于 2013-02-04T18:46:35.767 に答える
1

アクティビティビューがプログレスバーを通過することを宣言する直前にこれを行い、ビューを定義した後、プログレスバーの表示を無効にし、クリックするとバーの表示を有効にします

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

それは私が抱えていたのと同じ問題であり、問​​題を調査するためにABSをデバッグするのに5時間かかりました。解決策は非常に簡単です。

使用する:

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 に答える