首页 > 其他分享 >在android的fragment中使用子线程查询的数据如何实时更新在主界面的listview中

在android的fragment中使用子线程查询的数据如何实时更新在主界面的listview中

时间:2023-04-08 11:25:30浏览次数:44  
标签:mListView fragment list mAdapter 线程 new android public view

主要是使用handler来对ui界面进行实时更新

 

public class YourFragment extends Fragment {

    private ListView mListView;
    private YourAdapter mAdapter = new YourAdapter(getContext(), new ArrayList<YourData>()); //注意这一步的初始化如果闪退的话,可以放在onCreate方法中对适配器进行初始化

    // Define a handler to handle UI updates
    private Handler mHandler = new Handler(Looper.getMainLooper()) {
        @Override
        public void handleMessage(Message msg) {
            mAdapter.clear(); // Clear existing items from the adapter
            mAdapter.addAll((List<YourData>) msg.obj); // Add new items to the adapter
        }
    };

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.your_layout,null);

        // Find reference to the list view
        mListView = view.findViewById(R.id.list_view);

        // Set the adapter for the list view
        mListView.setAdapter(mAdapter);

        // Run a background thread to fetch data
        new Thread(new Runnable() {
            @Override
            public void run() {
                // Perform some background work to get a new list of data
                List<YourData> newData = fetchData();

                // Send the new data to the UI thread using Handler
                Message message = Message.obtain();
                message.obj = newData;
                mHandler.sendMessage(message);
            }
        }).start();

        return view;
    }

}

标签:mListView,fragment,list,mAdapter,线程,new,android,public,view
From: https://www.cnblogs.com/jiazq/p/17298188.html

相关文章

  • Android性能优化
     在如今的移动互联网时代,移动设备的使用越来越普遍,而Android作为一个开放、免费的操作系统,更是占据了全球智能手机市场的绝大部分份额。然而,Android设备的性能问题也是使用者非常关心的问题,因此,Android性能优化也是开发者不得不重视的问题。Android应用的性能问题主要体现......
  • 协程 goroutine,线程,进程,GPM,的介绍
    前言:进程,线程,协程,并发,并行介绍正文:线程,进程介绍:1.线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;2.一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线3.进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间4.调度和切换:线程上......
  • IO流中「线程」模型总结
    IO流模块:经常看、经常用、经常忘;一、基础简介在IO流的网络模型中,以常见的「客户端-服务端」交互场景为例;客户端与服务端进行通信「交互」,可能是同步或者异步,服务端进行「流」处理时,可能是阻塞或者非阻塞模式,当然也有自定义的业务流程需要执行,从处理逻辑看就是「读取数据-业务......
  • 实战-JAVA应用程序CPU占用率飙升,定位线程的堆栈信息
    分以下几个步奏:(1)使用命令top-p<pid>,显示你的java进程的cpu情况,pid是你的java进程号,比如14203。(使用jps可以获取到java的进程id或者top直接查看)(2)按H,获取每个线程的CPU情况。(shirt+H)(3)找到内存和cpu占用最高的线程tid,比如14204。(4)转为十六进制得到377C,此为线程id的十六进......
  • 线程池execute 和 submit 的区别
    1.execute和submit的区别前面说了还需要介绍多线程中使用execute和submit的区别(这两个方法都是线程池ThreadPoolExecutor的方法)。1.1方法来源不同execute方法是线程池的顶层接口Executor定义的,在ThreadPoolExecutor中实现:voidexecute(Runnablecommand);su......
  • JUC并发编程基础篇第二章之CompletableFuture[加强版的线程]
    @目录1、创建线程的几种方式2、Future的优缺点3、CompletableFuture对Future的改进3.1、CompletableFuture的基本结构3.2、创建CompletableFuture四种方式3.3、CompletableFuture的流式调用3.4、CompletableFuture常见的用法1、创建线程的几种方式newthread://构造......
  • JUC并发编程基础篇第五章之线程中断状态[你理解的线程中断,只会Thread.interrupted()
    目录1、什么是线程的中断机制2、isterruptinterruptedisInterrupted区别3、面试题3.1、如何停止中断运行中的线程3.2、当前线程的中断标识符为true,是不是线程就立马停止了3.3、如果线程处于被阻塞的状态(列入sleep,wait,join等状态),在别的线程调用当前线程的interrupt()方法,会发生......
  • Android系统搜索对话框(浮动搜索框)的使用
    当您需要在您的应用程序中提供搜索服务时,您第一个想到的是您的搜索框要放哪呢?通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显......
  • android获取手机电量
    importandroid.app.Activity;importandroid.app.Dialog;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.content.IntentFilter;importandroid.os.Bundle;importandroid.util.Log;import......
  • android自定义Activity窗口大小(theme运用)
    正常情况下,我们开发的应用程序都会上占满整个屏幕,那么怎么样才能开发出自定义窗口大小的的程序呢?如下图所示:实现起来非常简单。第一步,创建一个背景配置文件float_box.xml,放到res/drawable下,如下所示(如看不懂可查看本站:):<?xmlversion="1.0"encoding="utf-8"......