如何在android listview中为离线内容添加更多加载按钮?

时间:2016-07-21 05:00:39

标签: android listview android-arrayadapter

我有一个listview和一个30个项目的数组,现在我只想在打开它时显示前10个项目,然后当我滚动到底部时我想显示一个更多的加载按钮单击时将下一个项目添加到listview,再次滚动到底部时,应显示更多加载按钮。我只是不知道如何处理这个,任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

listv.setOnScrollListener(new OnScrollListener() {

        public void onScrollStateChanged(AbsListView view, int scrollState) {


        }

        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {

            if(firstVisibleItem+visibleItemCount == totalItemCount && totalItemCount!=0)
            {
                if(flag_loading == false)
                {
                    flag_loading = true;
                    addmoreitems();
                }
            }
        }
    });

然后你可以在addmoreitems()中添加下十个项目。它会起作用。

如果您想在listview的页脚添加按钮,只需添加yourlistview.addFooterView。试试这个code

答案 1 :(得分:0)

我们可以使用public JsonResult Delete(string doc) { long docId = Helpers.Utility.Instance.getIdAfterDecode(doc); if (docId <=0) { return Json(new { result = "error: Document info was not correct." }); } bool output = new DocumentsInfoRepository().deleteDocument(docId); return Json(new { result = output}); } 加载更多按钮添加到列表视图中,然后我们可以添加一个点击事件监听器来加载更多按钮并调用后台线程,该线程会将更多数据附加到列表视图

这是关于listview with load more button

的完整教程

希望这有助于:)

答案 2 :(得分:0)

对ListAdapter类进行以下更改

onCreate() method
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

to get all data server after
 SharedPreferences.Editor editor = sharedpreferences.edit();
                    editor.putString(name, name);
                    editor.putString(email, email);
                    .....
                    editor.commit();

在您的情况下 mTotalPages = 30

在适配器布局中,在底部添加加载更多视图,

@Override
public View getView(int position, View convertView, ViewGroup parent) {
....
if (mTotalPages > mData.size()) {

    if ((position + 1) == getCount()) {
        holder.sLoadingView.setVisibility(View.VISIBLE);
    } else {
        holder.sLoadingView.setVisibility(View.GONE);
    }
}

  ....
}