iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在Android中利用Listview动态加载数据
  • 481
分享到

怎么在Android中利用Listview动态加载数据

androidlistview 2023-05-30 19:05:05 481人浏览 独家记忆
摘要

怎么在Android中利用Listview动态加载数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java代码:package org.developerwor

怎么在Android中利用Listview动态加载数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Java代码:

package org.developerworks.android;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.AbsListView;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.ProgressBar;import android.widget.TextView;import android.widget.Toast;import android.widget.AbsListView.OnScrollListener;import android.widget.LinearLayout.LayoutParams;public class ListViewForLoading extends Activity implements OnScrollListener {  private listViewAdapter adapter = new listViewAdapter();  ListView listView;  LinearLayout loadingLayout;  private Thread mThread;    private LayoutParams mLayoutParams = new LinearLayout.LayoutParams(      LinearLayout.LayoutParams.WRAP_CONTENT,      LinearLayout.LayoutParams.WRAP_CONTENT);    private LayoutParams FFlayoutParams = new LinearLayout.LayoutParams(      LinearLayout.LayoutParams.FILL_PARENT,      LinearLayout.LayoutParams.FILL_PARENT);  private ProgressBar progressBar;    @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    init();  }  private void init() {    // TODO Auto-generated method stub    // 线性布局    LinearLayout layout = new LinearLayout(this);    // 设置布局 水平方向    layout.setOrientation(LinearLayout.HORIZONTAL);    // 进度条    progressBar = new ProgressBar(this);    // 进度条显示位置    progressBar.setPadding(0, 0, 15, 0);    // 把进度条加入到layout中    layout.addView(progressBar, mLayoutParams);    // 文本内容    TextView textView = new TextView(this);    textView.setText("加载中...");    textView.setGravity(Gravity.CENTER_VERTICAL);    // 把文本加入到layout中    layout.addView(textView, FFlayoutParams);    // 设置layout的重力方向,即对齐方式是    layout.setGravity(Gravity.CENTER);    // 设置ListView的页脚layout    loadingLayout = new LinearLayout(this);    loadingLayout.addView(layout, mLayoutParams);    loadingLayout.setGravity(Gravity.CENTER);    // 得到一个ListView用来显示条目    listView = (ListView) findViewById(R.id.tv);    // 添加到脚页显示    listView.addFooterView(loadingLayout);    // 给ListView添加适配器    listView.setAdapter(adapter);    // 给ListView注册滚动监听    listView.setOnScrollListener(this);  }    class listViewAdapter extends BaseAdapter {    int count = 10;    public int getCount() {      return count;    }    public Object getItem(int pos) {      return pos;    }    public long getItemId(int pos) {      return pos;    }    public View getView(int pos, View v, ViewGroup p) {      TextView view;      if (v == null) {        view = new TextView(ListViewForLoading.this);      } else {        view = (TextView) v;      }      view.setText("ListItem " + pos);      view.setTextSize(20f);      view.setGravity(Gravity.CENTER);      view.setHeight(60);      return view;    }  }  @Override  public void onScroll(AbsListView view, int firstVisibleItem,      int visibleItemCount, int totalItemCount) {    // TODO Auto-generated method stub    if (firstVisibleItem + visibleItemCount == totalItemCount) {      // 开线程去下载网络数据      if (mThread == null || !mThread.isAlive()) {        mThread = new Thread() {          @Override          public void run() {            try {              // 这里放你网络数据请求的方法,我在这里用线程休眠5秒方法来处理              Thread.sleep(5000);            } catch (InterruptedException e) {              e.printStackTrace();            }            Message message = new Message();            message.what = 1;            handler.sendMessage(message);          }        };        mThread.start();      }    }  }  @Override  public void onScrollStateChanged(AbsListView view, int scrollState) {    // TODO Auto-generated method stub  }  private Handler handler = new Handler() {    @Override    public void handleMessage(Message msg) {      // TODO Auto-generated method stub      switch (msg.what) {      case 1:        if (adapter.count <= 41) {          adapter.count += 10;          int currentPage = adapter.count / 10;          Toast.makeText(getApplicationContext(),              "第" + currentPage + "页", Toast.LENGTH_LONG).show();        } else {          listView.removeFooterView(loadingLayout);        }        // 重新刷新Listview的adapter里面数据        adapter.notifyDataSetChanged();        break;      default:        break;      }    }  };}

main.xml别忘了加这段了

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"  android:layout_width="wrap_content"  android:layout_height="wrap_content">  <ListView android:id="@+id/tv"    android:layout_width="wrap_content"    android:layout_height="wrap_content"/></LinearLayout>

关于怎么在Android中利用Listview动态加载数据问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 怎么在Android中利用Listview动态加载数据

本文链接: https://www.lsjlt.com/news/220604.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在Android中利用Listview动态加载数据
    怎么在Android中利用Listview动态加载数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java代码:package org.developerwor...
    99+
    2023-05-30
    android listview
  • Android实现ListView数据动态加载的方法
    本文实例讲述了Android实现ListView数据动态加载的方法。分享给大家供大家参考,具体如下: list.setOnScrollListener(new OnScrol...
    99+
    2022-06-06
    方法 listview 动态 Android
  • Android应用中ListView利用OnScrollListener分页加载数据
    当用户从网络上读取微薄的时候,如果一下子全部加载用户未读的微薄这将耗费比较长的时间,造成不好的用户体验,同时一屏的内容也不足以显示如此多的内容。这时候,我们就需要用到另一个功能...
    99+
    2022-06-06
    数据 listview Android
  • Android怎么实现ListView分页加载数据
    本篇内容介绍了“Android怎么实现ListView分页加载数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!FenyeActivityp...
    99+
    2023-06-25
  • Android实现listview动态加载数据分页的两种方法
    在android开发中,经常需要使用数据分页,比如要实现一个新闻列表的显示,或者博文列表的显示,不可能第一次加载就展示出全部,这就需要使用分页的方法来加载数据,在android...
    99+
    2022-06-06
    方法 数据 listview 分页 Android
  • Android中怎么利用ListView实现下拉加载功能
    Android中怎么利用ListView实现下拉加载功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MyListView.Javapublic class&nb...
    99+
    2023-05-30
    listview android
  • android listview动态添加数据的方法是什么
    在Android中,可以通过以下方法动态添加数据到ListView中:1. 创建一个数据源:首先,需要创建一个数据源,用于存储要显示...
    99+
    2023-09-16
    android listview
  • Android中怎么利用 ListView填充数据
    本篇文章为大家展示了Android中怎么利用 ListView填充数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android ListView填充数据的方法代码如下:public c...
    99+
    2023-05-30
    android listview
  • 怎么在Android中动态加载二维码
    这篇文章将为大家详细讲解有关怎么在Android中动态加载二维码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.需求背景需要实现一个动态加载但不显示出来的视图,且该视图上有个动态生成的二维...
    99+
    2023-05-30
    android
  • Android中怎么利用Xfermode实现动态文字加载动画
    这篇文章将为大家详细讲解有关Android中怎么利用Xfermode实现动态文字加载动画,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。第一步:我们要熟悉一下这个图16个图形结果,其实现在有1...
    99+
    2023-05-30
    android
  • 怎么在Android中利用 listview对数据进行显示
    怎么在Android中利用 listview对数据进行显示?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Android  listview数据显示及提示信息...
    99+
    2023-05-31
    android listview roi
  • Ajax中怎么动态加载数据库
    这期内容当中小编将会给大家带来有关Ajax中怎么动态加载数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。代码如下:<!DOCTYPE html PUBLIC &...
    99+
    2022-10-19
  • Android开发中利用ListView怎么实现一个分页加载功能
    这期内容当中小编将会给大家带来有关Android开发中利用ListView怎么实现一个分页加载功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:package eoe.listview;impo...
    99+
    2023-05-31
    android 分页加载 listview
  • ajax怎么动态加载json数据
    这篇文章将为大家详细讲解有关ajax怎么动态加载json数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。jsp代码<form >   姓...
    99+
    2023-06-08
  • 利用Java如何实现动态加载数据库驱动
    利用Java如何实现动态加载数据库驱动?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码实现在此只例出核心代码,就是动态加载数据库驱动的类,只是此处暂时没有考虑到数据库连接池的...
    99+
    2023-05-31
    java 动态加载 驱动
  • 使用AJAX怎么动态加载后台数据
    这篇文章将为大家详细讲解有关使用AJAX怎么动态加载后台数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。html代码<select id="select"...
    99+
    2023-06-08
  • 怎么在Android中利用ClassLoader对类进行加载
    本篇文章给大家分享的是有关怎么在Android中利用ClassLoader对类进行加载,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java的类加载设计了一套双亲代理的模式,使...
    99+
    2023-05-31
    classloader android roi
  • 怎么在Vue中利用路由监听实现同页面动态加载
    怎么在Vue中利用路由监听实现同页面动态加载?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。watch: {   &nbs...
    99+
    2023-06-15
  • 怎么在Android应用中实现一个加载数据帧动画效果
    这期内容当中小编将会给大家带来有关怎么在Android应用中实现一个加载数据帧动画效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现步骤:1、xml布局<&#63;xml version...
    99+
    2023-05-31
    android roi
  • 怎么在Android应用中利用ListView实现一个监听滑动事件
    怎么在Android应用中利用ListView实现一个监听滑动事件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ListView的主要有两种滑动事件监听方法,OnTouchLi...
    99+
    2023-05-31
    listview android roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作