2014-12-09 96 views
0

我正在切换到Slider API以获取不确定的进度条。我正在关注this教程。一切正常,除了不确定的进度条没有出现。mSlider.startIndeterminate()不起作用

最终的结果应该是这个样子:

gif from google glass developement page

下面是一些获取视频的活动,同时显示一个不确定的滑块等待结果。

public class SearchActivity extends Activity { 
    //... 
    private Slider.Indeterminate mIndeterminate; 
    private CardScrollView mCardScroller; 
    private Slider mSlider; 

    @Override 
    protected void onCreate(Bundle bundle){ 
     super.onCreate(bundle); 

     keyword = (String)getIntent().getSerializableExtra("keywords"); 
     mCardScroller = new CardScrollView(this); 
     mCardScroller.setAdapter(new CardAdapter(createCards(this))); 
     mSlider = Slider.from(mCardScroller); 
     setContentView(mCardScroller); 
     new LoadAllVideos().execute(); 
    } 
    private ArrayList<CardBuilder> createCards(Context context){ 
     ArrayList<CardBuilder> cards = new ArrayList<>(); 
     cards.add(new CardBuilder(context, CardBuilder.Layout.MENU) 
       .setText("Loading...") 
       .setIcon(R.drawable.ic_launcher)); 
     return cards; 
    } 
     //... 
} 

在我LoadAllVideos(扩展的AsyncTask ..)我有

@Override 
protected void onPreExecute(){ 
    super.onPreExecute(); 
    Log.w("progressbar", "start"); 
    mIndeterminate = mSlider.startIndeterminate(); 
} 

@Override 
protected void onPostExecute(String url){ 
    Log.w("progressbar", "stop"); 
    mIndeterminate.hide(); 
    Intent res = new Intent(SearchActivity.this, ResultActivity.class); 
    res.putExtra("videos", videos); 
    startActivity(res); 
    finish(); 
} 

什么可能我是做错了什么?

回答

4

Slider API依赖于初始化为VISIBLE时使用的View,以便它可以正确回收从隐藏视图开始的滑块。

您可以尝试在onResume回调代替onCreate开始加载视频任务吗?此时,您正在使用的CardScrolLView应该已附加到Window并呈现为VISIBLE

+0

嘿阿兰,这很好。谢谢。 – rottenoats 2014-12-10 08:27:52