网络请求Adapter添加数据

时间:2022-09-11 08:57:05

一般在开发中我们都需要在listview中添加数据显示在界面上

网络请求Adapter添加数据

1.首先我们会在布局中写一个listview

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#EFEFF4"
android:clipChildren="false"
> <ListView
android:id="@+id/id_rada_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:divider="#00000000"/> </FrameLayout>

2.初始化listview的布局控件

ListView rada_list = findViewById(R.id.id_rada_list);

3.网络请求数据在listview中加载adapter

  rada_list.setAdapter(new MyListAdapter());

4.关键步骤adapter添加数据

   //listview 设置适配器

    class MyListAdapter extends BaseAdapter {

        private DisplayImageOptions options;

        public MyListAdapter() {
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.logo)//加载中图片的设置
.showImageForEmptyUri(R.drawable.logo)//url为null的情况下
.showImageOnFail(R.drawable.logo)//加载图片失败的时候的设置
.cacheInMemory(true)//是否缓存在内存
.cacheOnDisk(true)//是否缓存在硬盘
.considerExifParams(true)//exif:一张图片的附加信息 位置信息、时间信息、角度
.displayer(new FadeInBitmapDisplayer(500))//设置展示器
.build();
} @Override
public int getCount() {
return redEnvelope.size();
} @Override
public Object getItem(int position) {
return redEnvelope.get(position);
} @Override
public long getItemId(int position) {
return position;
} @Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
convertView = View.inflate(getApplication(), R.layout.item_radar, null);
holder = new ViewHolder();
holder.ivImageview = convertView.findViewById(R.id.iv_rade_image);
holder.tvName = convertView.findViewById(R.id.tv_name);
holder.tvMonkey = convertView.findViewById(R.id.tv_money);
holder.tvNuber = convertView.findViewById(R.id.tv_nuber);
holder.btCome = convertView.findViewById(R.id.bt_come);
convertView.setTag(holder);
} else { holder = (ViewHolder) convertView.getTag(); }
holder.tvName.setText(redEnvelope.get(position).getNickname() + "");
DecimalFormat format = new DecimalFormat("#.##");
double aAmount = redEnvelope.get(position).getActualAmount();
holder.tvMonkey.setText(format.format(aAmount));
holder.tvNuber.setText(redEnvelope.get(position).getNumber() + "");
String photoUrl = redEnvelope.get(position).getPhotoUrl(); // String url = GlobalConstants.URL_PREFIX + news.get(position).listimage;
ImageLoader.getInstance().displayImage(photoUrl, holder.ivImageview, options);
holder.btCome.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {//点击红包雷达 去抢红包
if(redNum == 0){
DialogBuilder.messageDialog(RadarActivity.this).setMessage("您的抢红包次数已使用完啦!!!").show();
return;
}
nickname = redEnvelope.get(position).getNickname();
photoUrl1 = redEnvelope.get(position).getPhotoUrl();
actualAmount = redEnvelope.get(position).getActualAmount();
id = redEnvelope.get(position).getId();
number = redEnvelope.get(position).getNumber();
pos = position;
toValidate(); }
}); return convertView;
}
} //非静态内部类会默认拥有外部类的实例对象
static class ViewHolder {
public ImageView ivImageview;
public TextView tvName;
public TextView tvMonkey;
public TextView tvNuber;
public Button btCome; }

6.adtpter布局文件

<?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" android:fitsSystemWindows="true"
android:orientation="vertical"> <LinearLayout
android:id="@+id/ll_pay_wx"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginLeft="16dp"
android:background="#FFFFFF"
android:layout_marginRight="13dp"
android:gravity="center_vertical"> <com.netease.nim.avchatkit.common.imageview.CircleImageView
android:id="@+id/iv_rade_image"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
app:civ_border_color="#fffed470"
app:civ_border_width="2dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/constraintLayout"
app:srcCompat="@drawable/logo" /> <LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="17dp"
android:orientation="vertical"> <TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:text="红聊科技
" android:textColor="#000000"
android:textSize="15sp"/> <RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"> <TextView
android:id="@+id/tv_read_yuer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#666666"
android:textSize="13sp"
android:text="剩余"/> <TextView android:id="@+id/tv_money"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tv_read_yuer"
android:text="1000"
android:textSize="13sp"
android:textColor="#ff533c"/> <TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tv_money"
android:text="元"
android:textSize="13sp"
android:textColor="#666666"/> <TextView
android:id="@+id/tv_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="90dp"
android:textSize="13sp"
android:textColor="#666666"
android:text="剩余"/> <TextView
android:id="@+id/tv_nuber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tv_view"
android:text="10"
android:textSize="13sp"
android:textColor="#666666"/> <TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tv_nuber"
android:text="个红包"
android:textSize="13sp"
android:textColor="#666666"/> </RelativeLayout> <Button
android:id="@+id/bt_come"
android:layout_width="73dp"
android:layout_height="27dp"
android:layout_marginLeft="170dp"
android:layout_marginTop="-22dp"
android:textColor="#504f4f"
style="?android:attr/borderlessButtonStyle"
android:background="@drawable/shape_backgroundd"
android:text="去抢"/> </LinearLayout> </LinearLayout> <View
android:layout_width="match_parent"
android:layout_height="1dip"
android:layout_marginLeft="16dp"
android:layout_marginRight="13dp"
android:background="#E0E0E0"/> </LinearLayout>

网络请求Adapter添加数据的更多相关文章

  1. 微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 封装网络请求及 mock 数据

    § 封装网络请求及 mock 数据 本文配套视频地址: https://v.qq.com/x/page/i05544fogcm.html 开始前请把 ch2-3 分支中的 code/ 目录导入微信开发 ...

  2. ios MVVM实践 刷新网络请求&plus;tableView展示数据

    [实现效果] [目录结构相关] 此示例展示用的是MVVM结构形式,表述如下 M:数据Model的存储,可以用来对属性进行处理.(即胖model概念,上图中xx万人订阅这个处理方法写在Model内) V ...

  3. Python 学习之urllib模块---用于发送网络请求,获取数据(2)

    接着上一次的内容. 先说明一下关于split()方法:它通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串(把一个字符串分割成很多字符串组成的list列表) 语法: ...

  4. Python 学习之urllib模块---用于发送网络请求,获取数据(4)

    承接将查询城市编码的结果保存到文件中,以字典的形式保存,目的是为了在查询某个城市的天气的时候,能够通过输入的城市名称,找到对应的城市编码.所以此结果字典的数据结构,就是city={城市名称:城市编码} ...

  5. Python 学习之urllib模块---用于发送网络请求,获取数据(3)

    上节内容,是得到了省/直辖市编码,如web='http://m.weather.com.cn/data5/city01',我们需要继续获取此接口的数据,于是进行下面的操作 for  i  in   b ...

  6. Python 学习之urllib模块---用于发送网络请求,获取数据(5)

    查询城市天气最后一节 需要导入上一节的结果city10.py #!/usr/bin/python# -*- coding: UTF-8 -*-import urllib.requestfrom  ci ...

  7. Python 学习之urllib模块---用于发送网络请求,获取数据

    1.urllib urllib是Python标准库的一部分,包含urllib.request,urllib.error,urllib.parse,urlli.robotparser四个子模块. (1) ...

  8. 阶段一:通过网络请求,获得并解析JSON数据(天气应用)

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 在上一篇阶段一:解析JSON中提到,最近在写一个很简单的天气预报应用.即使功能很简单,但我还是想把它做成一个相对完 ...

  9. iOS开发——实战篇Swift篇&amp&semi;UItableView结合网络请求,多线程,数据解析,MVC实战

    UItableView结合网络请求,多线程,数据解析,MVC实战 学了这么久的swift都没有做过什么东西,今天就以自己的一个小小的联系,讲一下,怎么使用swift在实战中应用MVC,并且结合后面的高 ...

随机推荐

  1. Mongo基础使用,以及在Express项目中使用Mongoose

    MongoDB的基本使用 MongoDB特点: 使用BSON存储数据 支持相对丰富的查询操作(相对其他nosql数据库) 支持索引 副本集(支持多个实例/多个服务器运行同个数据库) 分片(数据库水平扩 ...

  2. 【转】OpenStack和Docker、ServerLess能不能决定云计算胜负吗?

    还记得在十多年前,SaaS鼻祖SalesForce喊出的口号『No Software』吗?SalesForce在这个口号声中开创了SaaS行业,并成为当今市值460亿美元的SaaS之王.今天谈谈『No ...

  3. How to display SSRS report based on customer&sol;Vendor specific language &lbrack;AX2012&rsqb;

    Common requirement is to show the reports in customer’s language. [example : Quotations, sales confi ...

  4. es6 语法 (解构赋值)

    1.结构赋值 { let a,b,c; [a,b] = [1,2]; console.log(a,b); //1,2} { let a,b,rest; [a,b,...rest] = [1,2,3,4 ...

  5. 白鹭引擎 - 矢量绘图 &lpar; graphics &rpar;

    class Main extends egret.DisplayObjectContainer { /** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 ...

  6. Ubuntu16&period;04&period;2 LTS下使用编译安装程序&lpar;使用configure、make、 make install&rpar;

    以安装vim为例. (vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面). 1.获取源文件 首先进入/usr/local下(只是为了方便处理安装文件,位置随意) 用git ...

  7. shell echo -n md5sum使用方法

    #!/bin/bash MYSQL='mysql -u*** -p*** -hws5 account' tmp="tmp" resultsource="resultsou ...

  8. Vue packages version conflicts 错误修复

    我们在使用Vue作为weex中的前端框架的开发过程中,某次 npm start 遇到了如下的错误: Vue packages version mismatch: - vue@2.5.16 - vue- ...

  9. 【C&num;】 RBAC 权限框架

    [C#] RBAC 权限框架 一. 名词解释 1. 用户 : 登录的账号, 和角色挂钩,可拥有多个角色 2. 角色 : 账号所属的角色, 和权限挂钩,可拥有多个权限 3. 权限 : 角色拥有的操作权限 ...

  10. &lbrack;USACO2015DEC&rsqb;Max Flow

    题目大意: 给你一棵n个点的树,有m次操作,每次将给定的路径上所有点的点权+1. 问最后最大的点权是多少. 思路: #include<cstdio> #include<cctype& ...