【问题标题】:Update the same listView on scroll在滚动时更新相同的 listView
【发布时间】:2013-01-03 12:22:12
【问题描述】:

应用程序的目的是在用户向下滚动并更新现有 ListView 时获取更多数据。

处理用户滚动的代码 sn -p 是:

public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, 
                     int totalItemCount) {
    int totalVisible = firstVisibleItem + visibleItemCount;

     if (view.getAdapter() != null && 
        (totalVisible >= totalItemCount) && 
        totalItemCount != priorFirst && 
        visibleItemCount != totalItemCount) {
            Log.v("MyActivity", "onListEnd, extending list");
            priorFirst = totalItemCount;

            //params is array of values passed to business layer for data fetch
            String[] params = builder.toString().split("&");

            UIHandler uiHandler = new UIHandler(this, getParent());
            //start async task      
            EnquiriesRunner enquiriesRunner = new EnquiriesRunner(uiHandler);
            enquiriesRunner.execute(params);
    }

在后台调用业务层。

protected ExceptionHandler<Object> doInBackground(String... params) {
    Object obj = enquiriesCaller.getEnquiries(params);
    return new ExceptionHandler<Object>(obj);
}

并将结果数据传递给 UI 处理程序,该处理程序使用自定义适配器将其呈现给 listView。

ListView enquiryView = (ListView) ((Activity) childContext).findViewById(R.id.enquiryListView);
CustomAdapter adapter = new CustomAdapter(childContext, msg.obj);
enquiryView.setAdapter(adapter);

msg.obj 是包装到 Object 中的搜索结果。这将被转换为适配器中所需的 POJO 引用。

如您所见,每次 listView 都被新的数据集替换。任何人都可以提出更新现有列表的可能解决方案吗?

提前致谢!

【问题讨论】:

标签: android android-layout android-listview android-asynctask android-adapter


【解决方案1】:

试试这个链接,它会对你有用。

http://benjii.me/2010/08/endless-scrolling-listview-in-android/

您可以在滚动时更新 ListView..

【讨论】:

  • 感谢您的链接!好吧,您可以看到滚动效果很好并且需要服务器。障碍是更新相同的现有列表,以便用户可以看到第 0 行的所有值
  • 使用这个 mAdapter.notifyDataSetChanged();其中 mAdapter 是您用于在 ListView 中填充数据的适配器对象。
  • 很抱歉也失败了..!但是,我设法通过检查总行数来完成它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 2019-06-27
  • 2018-10-04
  • 2012-08-06
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多