RecyclerView 和 SwipeRefreshLayout

Yolov26 在 Rk3588 上的 Rknn Onnx 部署实践(模型转换) 本文详细介绍了将YOLOv26 ONNX模型转换为RKNN模型的过程,适用于RK3588平台。主要内容包括:1)量化数据集的创建,通过随机抽取最多400张JPG图片生成校准数据集;2)ONNX转RKNN的完整脚本,支持多种量化方式和平台适配;3)模型转换的参考调用方式;4)模型结构对比展示。文章还提供了注意事项,强调量化数据集图片尺寸、mean/std值需与实际推理一致,并给出精度优化建议。该转换流程为YOLOv26模型在RK3588上的高效部署提供了完整解决方案。 阅读详情

1: 下拉刷新,上拉加载

2:  注意数据更新,还有recycelerview的adapter

3: RecyclerView 是需要导入的,然后才能够应用的

 

https://github.com/kodulf/SwipeRefreshLayoutRecyclerViewDemo

 

package kodulf.swiperefreshlayoutrecyclerviewdemo;

import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener, View.OnScrollChangeListener {

    private RecyclerView recyclerView;
    private SwipeRefreshLayout mSwipeRefreshLayout;
    private ArrayList<String> mList = new ArrayList<>();
    private MyAdapter myAdapter;
    private static final int ADD = 0;
    private static final int REFRESH = 1;
    private int lastVisiableNum = 0;

    private Handler mHandler = new Handler(new Handler.Callback() {
        @Override
        public boolean handleMessage(Message msg) {
            int what = msg.what;
            switch (what){
                case REFRESH:
                    mSwipeRefreshLayout.setRefreshing(false);
                    mList.clear();
                    for (int i = 0; i < 10; i++) {
                        mList.add(""+i);
                    }
                    myAdapter.notifyDataSetChanged();
                    break;

                case ADD:

                    for (int i = 0; i < 10; i++) {
                        mList.add(""+i);
                    }
                    //更新使用这个
                    myAdapter.notifyDataSetChanged();
                    break;
            }
            return false;
        }
    });
    private LinearLayoutManager mLinearLayoutManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        for (int i = 0; i < 10; i++) {
            mList.add(i+"");
        }

        recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
        mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
        mSwipeRefreshLayout.setColorSchemeColors(Color.RED,Color.BLUE,Color.YELLOW);
        mSwipeRefreshLayout.setSize(SwipeRefreshLayout.LARGE);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            recyclerView.setOnScrollChangeListener(this);
        }


        myAdapter = new MyAdapter();
        mLinearLayoutManager = new LinearLayoutManager(this);
        recyclerView.setLayoutManager(mLinearLayoutManager);
        recyclerView.setAdapter(myAdapter);

        recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);

                if(newState == RecyclerView.SCROLL_STATE_IDLE){
                    if(lastVisiableNum+1==mList.size()){
                        mHandler.sendEmptyMessageDelayed(ADD,1000);
                    }
                }

            }

            @Override
            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                lastVisiableNum=mLinearLayoutManager.findLastCompletelyVisibleItemPosition();
            }
        });

        mSwipeRefreshLayout.setOnRefreshListener(this);

    }



    @Override
    public void onRefresh() {
        Toast.makeText(this,"onRefresh",Toast.LENGTH_SHORT).show();
        mHandler.sendEmptyMessageDelayed(REFRESH,3000);
    }

    @Override
    public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {

    }


    class MyAdapter extends RecyclerView.Adapter<RecyclerViewHolder>{

        @NonNull
        @Override
        public RecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
            //inflate 

            View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item, viewGroup, false);

            return new RecyclerViewHolder(v);
        }

        @Override
        public void onBindViewHolder(@NonNull RecyclerViewHolder recyclerViewHolder, int i) {
                recyclerViewHolder.textView.setText(mList.get(i));
        }

        @Override
        public int getItemCount() {
            int size = mList.size();
            return size;
        }
    }


    class RecyclerViewHolder extends RecyclerView.ViewHolder{

        TextView textView;

        public RecyclerViewHolder(@NonNull View itemView) {
            super(itemView);
            textView = (TextView)itemView.findViewById(R.id.item_textView);
        }


    }


}

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swipeRefreshLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </android.support.v7.widget.RecyclerView>
    </android.support.v4.widget.SwipeRefreshLayout>



</LinearLayout>

 

lammps多晶正弦粗糙界面建模 其中,30可以理解为正弦曲线的幅度,150为正弦曲线的基准坐标值,80控制周期,改变参数多试试就能找到规律。很久之前介绍过lammps粗糙界面建模,主要是在lammps中进行一维和二维的正弦粗糙面建模。运行完成后,会生成final.data,这个模型即为上表面为正弦波动的粗糙界面。新建1.py文件,粘贴下面内容后,运行:python 1.py。多晶需要在atomsk中进行,因此上述的方法就不再适用。最近有学员咨询多晶模型的正弦粗糙界面建模应该如何实现。在cmd窗口按顺序运行以下命令创建多晶模型。 阅读详情

相关推荐

在AVP28335(兼容德州仪器TMS320-28335) 上实现ModbusSlaveRTU-485源码及注释。

今天先把题目先给出来, 在近两天会把源码 (含详细注释 )及部署、测试结果给出来, 希望能给大家帮助。(全免费 我有点缺德,断了别人的一个财路)。

FOOLCODE的专栏 642

Android中的RecyclerView下拉/上拉刷新数据

RecyclerView上拉/下拉刷新数据

m0_62278064的博客 5459

YOLOv8改进002:添加小目标检测头(小目标检测大量涨点)

YOLOv8 目标检测算法改进之添加小目标检测头,亲测在小目标检测的数据集上有大幅度的涨点效果(mAP直接涨了 0.04 左右)。

m0_46496775的博客 9877

自定义RecyclerView实现下拉刷新和上拉加载

通过导入第三方库实现ListView的上拉加载和下拉刷新比较简单,今天我要讲的是自定义RecyclerView实现下拉刷新和上拉加载。首先,自定义下拉刷新上拉加载是通过给RecyclerView添加头部和尾部实现的。而问题是RecyclerView并没有addHeaderView(View v)和addFooterView(View v)方法。 第一步:自定义HeaderAndFo

xiaoyantan的博客 8697

使用-flat.vmdk文件恢复ESXI虚拟机的vmdk文件

解决flat.vmdk文件丢失恢复问题

神秘人的博客 6772

实验五 循环结构第1关:斐波那契数列第2关:统计一段英文语句中的单词数和句子数第3关:密码判断第4关:通过数列求自然常数e第5关:双倍余额递减法计算固定资产折旧第6关:销售统计第7关:投资年限计算

第1关:斐波那契数列第2关:统计一段英文语句中的单词数和句子数第3关:密码判断 第4关:通过数列求自然常数e 第5关:双倍余额递减法计算固定资产折旧

pro_daily的博客 8168

RecyclerView的基础使用 +点击添加列表数据 +下拉刷新、上拉加载更多

RecyclerView的基础使用 +点击添加列表数据 +下拉刷新、上拉加载更多

qq_58451437的博客 4295

微信小程序报错:“errno“:600001,“errMsg“:“uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::

uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::ERR_NAME_NOT_RESOLVED,uniApp微信小程序使用uni.uploadFile出现报错,微信小程序如何解决wx.uploadFile报错,如何解决这个问题,微信小程序真机报错,微信小程序报错"errno":600001,"errMsg":"uploadFile:fail errcode:-105 cronet_error_code:-105 error_m

✅ 精选推荐文章 3826

SwipeRefreshLayout和RecyclerView类

1 SwipeRefreshLayout和RecyclerView之间的关系 内容栏上下滚动是RecyclerView控制的,只有当内容栏滑动到最顶上时,再也拉不动了的时候,这个时候将动作交给SwipeRefreshLayout执行刷新操作。 也就是说,滚动事件是RecyclerView的事件,由RecyclerView的listener负责处理,只有当RecyclerView往下滚...

weixin_30558305的博客 267

RT-DETR-R18 的轻量化 Trick:剪枝与量化在模型中的应用

RT-DETR-R18轻量化技术通过结构化剪枝、混合精度量化和知识蒸馏的组合优化,实现了显著模型压缩效果。摘要如下: RT-DETR-R18模型通过创新轻量化技术组合,在保持46.2% mAP精度的前提下,将模型大小压缩至2.1MB(压缩率78%),计算量降至3.2 GFLOPs(减少78.2%),实现移动端28ms实时推理(加速37.8%)。核心技术包括:1)渐进式结构化剪枝系统,通过L1范数重要性评估和动态剪枝调度;2)混合精度量化策略,对关键层保留FP16精度;3)教师-学生知识蒸馏框架保持模型表达能

走向CTO的路上... 1189

Android 12 系统横屏时,开机动画有两秒显示不全

平板系统默认横屏时,开机会旋转90度,显示的分辨率WxH,会变成HxW.但又会很快被SurfaceFlinger的SurfaceFlinger::processDisplayChanged 娇正。所以为了保险,可以在开机动画没结束之前,禁止旋转事件。在Android 12 产品定制化开发中,由于系统默认方向为竖屏,平板电脑要横屏显示。系统在开机时,有时因为旋转,会出现动画只显示一部分。

448313096@qq.com 1179

Android SwipeRefreshLayout+RecyclerView实现下拉刷新和上拉加载

一、SwipeRefreshLayout简介 SwipeRefreshLayout作为谷歌官方推荐的下拉刷新控件,在实际开发中,经常都会遇到下拉刷新、上拉加载更多的情形。,该控件集成自ViewGroup在support-v4兼容包下。 SwipeRefrshLayout常用的几个方法如下: isRefreshing():判断当前的状态是否是刷新状态。 setColorSchemeResources(int… colorResIds):设置下拉进度条的颜色主题,参数为可变参数,并且是资源id,可以设置多种不

wq892373445的博客 2396

js逆向第24例:FastMoss数据分析网站Fm-Sign加密字段破解

破解:FastMoss数据分析网站Fm-Sign加密字段。FastMoss主要是TikTok为主的大数据分析服务的一个网站

花臂不花Home 2152

SwipeRefreshLayout与RecyclerView的巧夺天工

平常开发我们需要使用ListView下拉刷新或者其下拉加载的时候,不是自己写就是用别人写好了,但是编程中有一点是不变的,就是一般封装好的东西,其扩展性极低,比如你使用xutils,imageloader等开源框架的时候,它允许你扩展吗?答案当然是否,那我想要实现自己非常酷酷的ListView时候,只有自己动手实现。不过,谷歌在2015在v4开发包加入 豪华套餐SwipeRefreshLayout供

李元静 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SwipeRefreshLayout嵌套ScrollView和RecyclerView

SwipeRefreshLayout嵌套ScrollView和RecyclerView

qq_27029491的博客 3854

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SwipeRefreshLayout 和RecyclerView下拉冲突

http://stackoverflow.com/questions/25178329/recyclerview-and-swiperefreshlayout   SwipeRefreshLayout和RecyclerView一起使用的时候,有时出现RecyclerView没有滑动到顶部,手指向下滑动时,触发了SwipeRefreshLayout的刷新事件,造成了冲突。  1.解决办法 ...

iteye_6945的博客 278

解决SwipeRefreshLayout与RecyclerView滑动冲突问题

背景:高版本的编译环境中,SwipeRefreshLayout和RecyclerView并不存在滑动冲突问题,而我恰恰手里有个target是22的项目,当我按照正常的逻辑写完界面后,使用app发现滑动整个列表时两个控件发生冲突,本着快速解决上线任务的原则,直接百度. 网上的完美解决方案如下: RecyclerView.OnScrollListener(){ @Override...

峰峯的专栏 3330

SwipeRefreshLayout 嵌套 RecyclerView滑动冲突

原则上你使用的RecyclerView框架可能是自带刷新的,如果没有就可能会出现这种问题,滑动时会出现卡顿、触发刷新的时机也不对。 思路: 监听RecyclerView的滑动,当滑动到顶部的时候,再设置SwipeRefreshLayout刷新可用。 代码 mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollL...

yechaoa 3913

RecyclerView+SwipeRefreshLayout实现下拉刷新列表

一:RecyclerView的用法:  RecyclerView是google在2014年I/O大会上提出新的用于取代ListView的组件,是 android-support-v7-21 版本中新增的一个 Widgets,它的灵活性与可替代性比listview更好。 使用 RecyclerView首先应该认识两个要点: 1.Adapter:使用RecyclerView之前,需要继承Re

Crazyfzw的博客 1542

SwipeRefreshLayout+RecyclerView 上拉下刷

XLM布局: xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_p

yangg194的博客 468

解决:SwipeRefreshLayout嵌套RecyclerView时滑动冲突

情况:SwipeRefreshLayout嵌套RecyclerView,当内容超过屏幕下拉,不知道你是要下拉刷新还是下滑,一直认为你是下拉刷新。 解决方法: 添加如下代码: 其中rvHome代表RecyclerView控件、srlHomeRecycleRefresh代表SwipeRefreshLayout控件,如用findViewById,请先findViewById后再添加下面代码。 ...

weixin_40420578的博客 3011

搭配SwipeRefreshLayout的Recyclerview刷新

了解 SwipeRefreshLayout 控件 使用 SwipeRefreshLayout 实现 Recyclerview 下拉刷新 给 apdater 添加加载更多的 item 实现 Recyclerview 上拉加载更多功能

moduzhang的博客 630

RecyclerView和SwipeRefreshLayout的使用

RecyclerView支持库包含在sdk目录下,具体在 sdk\extras\android\support\v7\recyclerview,在Android studio 中直接在 build 文件中添加如下语句即可使用 compile 'com.android.support:recyclerview-v7:23.+'当然,直接在app目录下的libs中添加Recycl

Hwaphon 3083

实现上拉加载,下拉刷新。通过SwipeRefreshLayout+RecyclerView

SwipeRefreshLayout SwipeRefreshLayout是一个下拉刷新的控件。并且提供了一些方法: (1)setOnRefreshListener(OnRefreshListener): 为布局添加一个Listener,就是那个下拉的监听,方法里面就是实现发生了下拉后要做什么的操作。 (2)setRefreshing(boolean): 显示或隐藏刷新进度条 (3)is...

faskjj的博客 2494

解决SwipeRefreshLayout与RecyclerView下拉冲突的问题

解决SwipeRefreshLayout与RecyclerView下拉冲突的问题 项目结构是这样的,在一个activity中,SwipeRefreshLayout包裹了ViewPager,ViewPager中嵌套了两个Fragment,Fragment中的数据是由一个接口统一返回的,所以需要通过在Activity中请求数据,并交给Fragment去刷新,而其中的Fragment中又嵌套Recyc

别来无恙_的博客 1188

新版下拉刷新swiperefreshlayout+recyclerview

最近有个模块觉得很好,于是小研究了下,不喜勿喷。之前一直徘徊ListView,GridView什么的。自安卓5.0之后,谷歌新推出了下拉刷新的控件SwipeRefreshLayout,以及针对ListView,GridView更新的RecyclerView。本着好用的心态,简单研究了下新控件的用法,于是写了一个Demo。 我的胆子越来越大了,老板就在旁边经过,上班时间写博客。 话不多说,直接步

忍者神龟的博客 737

Android RecyclerView + SwipeRefreshLayout 分页、下拉刷新

自己的

买轮班的专栏 2450
上一篇: setSystemUiVisibility的流程(待整理中)
下一篇: 转: www.baidu.com not permitted by network security policy
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值