加载数据时,ListView不显示进度条

时间:2014-08-23 10:24:44

标签: android listview progress-bar

当我使用ListView开始活动时,它开始从Internet加载一些信息并在应用适配器之后,但在加载过程中,ListVIew没有显示ProgressBar环。当我尝试使用SherlockListActivity而不是ListView时,我遇到同样的问题。

<?xml version="1.0" encoding="utf-
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<ListView
    android:id="@+id/comments"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

public class CommentsActivity extends SherlockActivity{

@InjectView(R.id.comments) ListView mCommentsListView;

private String mPostId;
private CommentsAdapter mAdapter;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.comment_activivty);
    ButterKnife.inject(this);
    Intent intent = getIntent();
    mPostId = intent.getStringExtra("POST_ID");
    LC lc = new LC();
    lc.execute(mPostId);
}

public void setupAdapter(){
    mAdapter = new CommentsAdapter(this);
    mCommentsListView.setAdapter(mAdapter);
}

private class LC extends LoadComments{

    @Override
    protected void onPostExecute(Void result) {
        //setup adapter after loading comments
        setupAdapter();
    }
}

}

2 个答案:

答案 0 :(得分:0)

ProgressBar添加到您的布局文件中:

<ProgressBar
    android:id="@+id/progress_bar"
    android:layout_gravity="center"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

在您的活动中注入ProgressBar

@InjectView(R.id.progress_bar) ProgressBar mProgressBar;

现在,您必须在设置适配器时隐藏它:

public void setupAdapter(){ 
    mAdapter = new CommentsAdapter(this);
    mCommentsListView.setAdapter(mAdapter);
    mProgressBar.setVisibility(View.GONE);
}

答案 1 :(得分:0)

这样做,             @覆盖        protected Void OnPreExecute(){

   ProgressDialog prgDialog  = new ProgressDialog(getContext());
    prgDialog.setTitle("Loading");
    prgDialog.setMessage("please wait")
    prgDialog.setCancelable(false);
    prgDialog.show();

}

on post Execute

私有类LC扩展了LoadComments {

@Override
protected void onPostExecute(Void result) {
    //setup adapter after loading comments 

prgDialog.dismiss();

    setupAdapter();
}

}