AutoJs数据展示及翻页

最终实现的效果图:
在这里插入图片描述

数据展示为每页10条数据,翻页按钮跟随数据的下方

在数据展示中:使用了 list(列表)界面布局,包裹card (卡片)布局
<list id="list">
    <card w="*" h="60" margin="10 2 2 10" cardCornerRadius="2dp" cardElevation="1dp" foreground="?selectableItemBackground">
        <horizontal gravity="center_vertical">
            <View bg="#002EA6" h="*" w="10" />
            <vertical padding="10 8" h="auto" w="0" layout_weight="1">
                <linear>
                    <text text="{{name}}" textColor="#222222" textSize="16sp"/>
                    <text text="{{gender}}" padding="20 0" textColor="{{gender_color}}" textSize="14sp"/>
                </linear>
                <linear>
                    <text text="{{label}}"  textColor="#222222" textSize="12sp"/>
                    <text text="id: {{short_id}}"  padding="20 0" textColor="#222222" textSize="12sp"/>
                    <text text="粉丝: {{follower}}"  padding="20 0" textColor="#222222" textSize="12sp"/>
                    
                </linear>
            </vertical>
            <button id="open_dy" marginLeft="4" marginRight="6" text="打开" style="Widget.AppCompat.Button.Colored" />
        </horizontal>
    </card>
</list>

数据正常展示后,跟随翻页按钮

<linear gravity="center" padding="10 20">
	<button id="front_page">上一页</button>
    <button id="next_page">下一页</button>
</linear>

这里的数据我选择了请求数据进行展示,翻页按钮的逻辑代码,

ui.front_page.on("click", ()=>{
    page -= 1
    // 避免页数为负数
    if (page < 1){
        page = 1
    }
    get_data() // 更新数据
});

ui.next_page.on("click", ()=>{
    page += 1
    get_data() // 更新数据
});

数据请求展示

threads.start(function(){
    var url = 'http://****************/get_data?page=' + page;
    var res = http.get(url);
    if(res.statusCode == 200){
        items = JSON.parse(res.body.string())
        ui.run(function () {
            ui.list.setDataSource(items);
        });
    }else{
        toast("请求失败:" + res.statusMessage);
    }
});

注释:网络阻塞请求是要使用线程来做处理的,但是在线程中并不能改变UI界面,就无法在请求到数据时更新页面,在网上找到了ui.run(function () {ui.list.setDataSource(items);});的方法,完美解决问题

打开: 打开是通过协议打开某app,跳转到该用户的主页,来实现其他的操作
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值