Xlistview

谷粒商城 - 个人笔记(集群部署篇一) 电商后台管理系统+电商系统,掌握微服务的全套方案。该系统有商品服务、仓储服务、订单服务、购物车服务、检索服务、认证中心服务、网关服务、用户服务、秒杀服务、第三方服务。使用SpringBoot+SpringCloud并配套SpringCloud Alibaba系列,引入全套微服务治理方案:Nacos注册中心/配置中心、Feign远程调用、Gateway网关、Redisson缓存、基于ElasticSearch7全文检索、异步编排与线程池、RabbitMQ柔性事务方案、Redisson分布式锁、分布式信号量等。 阅读详情
package com.gss.demo;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import com.andy.library.ChannelActivity;
import com.andy.library.ChannelBean;
import com.gss.demo.adapter.MyAdapter;
import com.gss.demo.bean.MyBean;
import com.gss.demo.utils.GlideImageLoader;
import com.gss.demo.xlistview.XListView;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.squareup.okhttp.Call;
import com.squareup.okhttp.Callback;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import com.youth.banner.Banner;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {

    private Banner mybanner;
    private XListView xlist;
    private TextView news;
    private TextView my;
    private String url = "http://api.kkmh.com/v1/topic_new/discovery_module_list/210?offset=0&limit=3&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg3OTE2MTcwNjE5LCJwcm9wZXJ0aWVzIjp7IiRvc192ZXJzaW9uIjoiNC4yLjIiLCJHZW5kZXJUeXBlIjoi5peg5rOV6I635Y-WIiwiVHJpZ2dlckl0ZW0iOjE3LCJWaXNpdFBhZ2VOYW1lIjoi5paw5L2c5LiK5p62IiwiJGxpYl92ZXJzaW9uIjoiMS42LjM0IiwiJG5ldHdvcmtfdHlwZSI6IldJRkkiLCIkd2lmaSI6dHJ1ZSwiJG1hbnVmYWN0dXJlciI6InNhbXN1bmciLCJUcmlnZ2VySXRlbU5hbWUiOiLmlrDkvZzkuIrmnrYiLCIkc2NyZWVuX2hlaWdodCI6NTc2LCJMaXN0VHlwZSI6IuaXp-eJiCIsIlByb3BlcnR5RXZlbnQiOiJSZWFkTGlzdCIsIlRyaWdnZXJPcmRlck51bWJlciI6MCwiRmluZFRhYk5hbWUiOiLmjqjojZAiLCJhYnRlc3RfZ3JvdXAiOjQ2LCIkc2NyZWVuX3dpZHRoIjoxMDI0LCIkb3MiOiJBbmRyb2lkIiwiVHJpZ2dlckl0ZW1UeXBlIjowLCJUcmlnZ2VyUGFnZSI6IkZpbmRQYWdlIiwiJGNhcnJpZXIiOiJDTUNDIiwiJG1vZGVsIjoiR1QtUDUyMTAiLCIkYXBwX3ZlcnNpb24iOiIzLjguMSJ9LCJ0eXBlIjoidHJhY2siLCJkaXN0aW5jdF9pZCI6IkE6OTA1MTA0Mjc2Mzc1NTEwOSIsIm9yaWdpbmFsX2lkIjoiQTo5MDUxMDQyNzYzNzU1MTA5IiwiZXZlbnQiOiJSZWFkTGlzdCJ9&style=2";
    private List<MyBean.DataBean.TopicsBean> list = new ArrayList<>();
    private List<String> urlList = new ArrayList<>();
    private Handler handler = new Handler();
    private MyAdapter adapter;
    private List<ChannelBean> channelList = new ArrayList<>();
    private String jsonBeans;
    private SharedPreferences preferences;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化VIew
        initView();
        //初始化数据
        initlistData();
        //初始化Banner数据
        initbannerData();
        //进入频道管理界面
        inPindao();
        my.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainActivity.this, QQLogin.class));
            }
        });
    }

    //点击进入频道管理界面
    private void inPindao() {
        news.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (jsonBeans == null) {
                    //添加频道数据
                    initList();
                    ChannelActivity.startChannelActivity(MainActivity.this, channelList);
                } else {
                    ChannelActivity.startChannelActivity(MainActivity.this, jsonBeans);
                }
            }
        });
    }

    //这是添加频道管理item数据方法
    private void initList() {
        channelList.add(new ChannelBean("热点", true));
        channelList.add(new ChannelBean("视频", true));
        channelList.add(new ChannelBean("社会", false));
        channelList.add(new ChannelBean("图片", false));
        channelList.add(new ChannelBean("军事", false));
        channelList.add(new ChannelBean("体育", false));
        channelList.add(new ChannelBean("汽车", false));
        channelList.add(new ChannelBean("国境", false));
        channelList.add(new ChannelBean("娱乐", false));
    }

    //使用OKHTTP请求网络数据
    private void initlistData() {
        OkHttpClient client = new OkHttpClient();
        final Request request = new Request.Builder().url(url).build();
        Call call = client.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Request request, IOException e) {

            }

            @Override
            public void onResponse(Response response) throws IOException {
                if (response.body() != null && response.isSuccessful()) {
                    String result = response.body().string();
                    MyBean bean = MyBean.objectFromData(result);
                    list = bean.data.topics;
                    //使用handler来进行耗时操作
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            //配置适配器
                            xlist.setAdapter(new MyAdapter(MainActivity.this, list));

                        }
                    });
                }
            }
        });
    }

    //给banner添加图片url,设置自动轮播时限
    private void initbannerData() {
        mybanner.setImageLoader(new GlideImageLoader());
        urlList.add("http://f2.kkmh.com/image/170707/slcyrhmrg.webp-w640");
        urlList.add("http://f2.kkmh.com/image/170622/866bjp30v.webp-w640");
        urlList.add("http://f2.kkmh.com/image/170703/3c0w96gm4.webp-w640");
        mybanner.setImages(urlList);
        mybanner.setDelayTime(3000);
        mybanner.start();
    }

    private void initView() {
        //初始化控件
        mybanner = (Banner) findViewById(R.id.mybanner);
        xlist = (XListView) findViewById(R.id.xlistview);
        news = (TextView) findViewById(R.id.news);
        my = (TextView) findViewById(R.id.my);
        //初始化imageloader
        ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(MainActivity.this));
        //初始化Xlistview
        xlist.setPullLoadEnable(true);
        xlist.setPullRefreshEnable(true);
        xlist.setXListViewListener(MainActivity.this);
        adapter = new MyAdapter(MainActivity.this, list);
        //初始化SharedPreferences
        preferences = getSharedPreferences("channel", MODE_PRIVATE);
        jsonBeans = preferences.getString("beans", null);
    }

    @Override
    public void onRefresh() {
        adapter.onRefreshData(list);
        initlistData();
        adapter.notifyDataSetChanged();
        xlist.stopRefresh();
    }

    @Override
    public void onLoadMore() {
        initbannerData();
        xlist.stopLoadMore();
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == ChannelActivity.REQUEST_CODE && resultCode == ChannelActivity.RESULT_CODE) {
            jsonBeans = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);

        }
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        SharedPreferences.Editor editor = preferences.edit();
        editor.putString("beans", jsonBeans);
        editor.commit();
    }
}
 -----------------------------------------------------------------------------------------------------------------
package com.gss.demo.adapter;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.gss.demo.R;
import com.gss.demo.bean.MyBean;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by lenovo on 2017/9/20.
 */

public class MyAdapter extends BaseAdapter {
    private Context context;
    private List<MyBean.DataBean.TopicsBean> list = new ArrayList<>();
    private ImageLoader loader;

    public MyAdapter(Context context, List<MyBean.DataBean.TopicsBean> list) {
        this.context = context;
        this.list = list;
        loader = ImageLoader.getInstance();
    }

    //刷新数据
    public void onRefreshData(List<MyBean.DataBean.TopicsBean> data) {
        this.list.clear();
        onLoadMoreData(data);
    }

    //加载更多数据
    public void onLoadMoreData(List<MyBean.DataBean.TopicsBean> data) {
        this.list.addAll(data);
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (convertView == null) {
            convertView = View.inflate(context, R.layout.item, null);
            holder = new ViewHolder(convertView);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.title.setText(list.get(position).title);
        holder.content.setText(list.get(position).description);
        loader.displayImage(list.get(position).vertical_image_url, holder.img);
        return convertView;
    }

    class ViewHolder {
        public View view;
        public TextView title, content;
        public ImageView img;

        public ViewHolder(View view) {
            this.view = view;
            this.content = (TextView) view.findViewById(R.id.item_content);
            this.title = (TextView) view.findViewById(R.id.item_title);
            this.img = (ImageView) view.findViewById(R.id.item_img);
        }
    }
}
----------------------------------------------------------------------------------------------------------------
public class GlideImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        //使用Glide加载图片
        Glide.with(context).load(path).into(imageView);
    }
}
-------------------------------------------------------------------------------------------------------------------
package com.gss.demo;

import android.app.Application;
import android.content.Context;
import android.util.Log;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.utils.StorageUtils;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;

import java.io.File;

/**
 * Created by lenovo on 2017/9/21.
 */

public class APP extends Application {
    public static APP app;

    {
        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
    }

    @Override
    public void onCreate() {
        super.onCreate();
        initImageLoader(getApplicationContext());
        app = this;
        UMShareAPI.get(this);
    }

    /**
     * 获取Application
     */
    public static APP getApp() {
        return app;
    }

    //初始化imagerLoader
    public static void initImageLoader(Context context) {
        File cacheDir = StorageUtils.getOwnCacheDirectory(context, "topnews/Cache");//获取到缓存的目录地址
        Log.d("cacheDir", cacheDir.getPath());
        //创建配置ImageLoader(所有的选项都是可选的,只使用那些你真的想定制),这个可以设定在APPLACATION里面,设置为全局的配置参数
        ImageLoaderConfiguration config = new ImageLoaderConfiguration
                .Builder(context)
                .threadPoolSize(3)//线程池内加载的数量
                .denyCacheImageMultipleSizesInMemory()//.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation你可以通过自己的内存缓存实现
                .memoryCacheSize(2 * 1024 * 1024)
                .diskCacheSize(50 * 1024 * 1024)
                .diskCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密
                .tasksProcessingOrder(QueueProcessingType.LIFO)
                .diskCache(new UnlimitedDiskCache(cacheDir))
                //自定义缓存路径//.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
                .build();
        ImageLoader.getInstance().init(config);//全局初始化此配置
    }

}
----------------------------------------------------------------------------------------------------------------------------------
package com.gss.demo;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;

import java.util.Map;

/**
 * Created by lenovo on 2017/9/21.
 */

public class QQLogin extends AppCompatActivity {

    private ImageView qq_head;
    private TextView qq_name;
    private Button qq_login;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.qqlogin_layout);
        qq_head = (ImageView) findViewById(R.id.qq_head);
        qq_name = (TextView) findViewById(R.id.qq_name);
        qq_login = (Button) findViewById(R.id.qq_login);
        qq_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                UMShareAPI.get(QQLogin.this).getPlatformInfo(QQLogin.this, SHARE_MEDIA.QQ, umAnthLinstener);
            }
        });
    }

    private UMAuthListener umAnthLinstener = new UMAuthListener() {
        @Override
        public void onStart(SHARE_MEDIA share_media) {

        }

        @Override
        public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
            String name = map.get("name");
            String gender = map.get("gender");
            String imgUrl = map.get("iconurl");
            qq_name.setText(name + " " + gender);
            ImageLoader.getInstance().displayImage(imgUrl, qq_head);
        }

        @Override
        public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {

        }

        @Override
        public void onCancel(SHARE_MEDIA share_media, int i) {

        }
    };

    //添加ActivityResult
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
    }
}

Tushare Day2——了解stock_basic数据并根据行业和地区进行统计 了解stock_basic数据 1  stock_basic基础信息2  导入包和stock_basic数据、查看基本信息3  根据行业列进行统计3.1  1.先把不同行业列举出来,看一下一共有多少种行业3.2  2.统计每个行业分别有多少家公司3.3  3.把行业从array的二维数组形式变成list形式3.4  4.把行业从list形式转换成文本形式3.5&nbsp 阅读详情

相关推荐

CoppeliaSim学习笔记(1):建立Python脚本与CoppeliaSim的连接

CoppeliaSim学习笔记,建立python和CoppeliaSim的连接,实现联调。

qq_22487889的博客 1万+

PullToRefresh使用示例:XListView下拉刷新与上拉加载完整指南

PullToRefresh是一个基于Maxwin的XListView改造的Android下拉刷新库,它不仅完善了下拉刷新和上拉加载更多功能,还实现了自动刷新、自动加载等特性,并增加了对ScrollView的支持。本指南将通过简单步骤和实际界面展示,帮助你快速掌握这个强大的下拉刷新组件。 ## 项目快速开始 首先需要将项目代码克隆到本地环境: ```bash git clone https:/

gitblog_00258的博客 939

别再纠结高侧低侧了!用INA199/INA219这类集成电流检测芯片,5分钟搞定精准电流测量

本文详细解析了使用INA199/INA219等集成电流检测芯片实现精准电流测量的高效方案。通过对比传统分立元件方案,突出集成芯片在精度、温度稳定性和设计简化方面的优势,并提供硬件设计避坑指南和软件实现最佳实践,帮助开发者快速掌握电流检测技术。

weixin_42685438的博客 470

XListView

//第二布:找控件 xListView = findViewById(R.id.xlistview); //第三布:启动或禁用上拉加载 xListView.setPullLoadEnable(true); //注册接口 xListView.setXListViewListener(new XListView....

zhe_guan的博客 356

cJSON库用完后内存泄漏?手把手教你正确使用cJSON_Delete和free释放资源

本文深入解析cJSON库的内存管理机制,重点解决使用后的内存泄漏问题。通过详细讲解cJSON_Delete和free的正确使用方法,帮助开发者在处理JSON数据时有效释放资源,避免内存泄漏。特别适用于嵌入式系统和资源受限环境,提升开发效率和系统稳定性。

weixin_30808693的博客 418

STM32 SYSTICK定时器及延时函数详解

STM32 SYSTICK及延时函数详解 SysTick定时器 SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心

w1050321758的博客 2366

XListView-Android 使用教程

XListView-Android 是由 Maxwin-z 开发的一个针对 Android 平台的列表视图组件,它主要提供了上拉刷新和下拉加载更多的功能。这个库在早期是非常流行的,适用于那些需要动态加载数据的应用场景,如社交媒体、新闻阅读等。XListView通过集成刷新机制,简化开发者对这一常见需求的处理,提升用户体验。 ## 项目快速启动 要快速开始使用 XListView-Android...

gitblog_00980的博客 900

MediaPipe实战:从零构建人脸关键点检测应用

本文详细介绍了如何使用Google的MediaPipe框架从零构建一个实时人脸关键点检测应用。文章深入剖析了MediaPipe的三段式检测流水线,提供了Android平台的完整实战教程,包括环境配置、模型加载、摄像头集成、关键点绘制以及性能调优指南,帮助开发者快速实现高效、跨平台的人脸AR特效与交互功能。

weixin_29100927的博客 341

XListView的使用

  //XListView主要是要实现条目的上拉加载和下拉刷新的功能 在使用的时候需要导入一个Module包(可以自己手写也可以向小编留言私发) 因为解析时需要网络权限和图片的解析等等,所以记得加权限和依赖等操作,准备就绪开始上代码 1.首先布局-------宽高ID无所谓但必须是xlistview.bawei.com.xlistviewlibrary.XListView这个控件 &l...

H_BuilDer的博客 1848

AgentScope深入分析-ReActAgent

ReActAgent 是 AgentScope 框架中最核心的智能体实现,它完美诠释了"推理-行动"(Reasoning-Acting)循环的精髓。本文将深入分析 ReActAgent 的类继承关系、核心执行流程,以及状态管理、钩子机制、实时介入等关键技术点。通过阅读本文,你会理解智能体如何与模型交互、如何执行工具、如何处理中断,以及这些机制背后的设计考量。模块化:通过组合不同的组件(模型、格式化器、工具集、记忆)来构建智能体透明性:所有关键流程都对开发者可见,可以精确控制可扩展性。

842

置顶必读(2) |《滚雪球学数学建模》专栏目录 & 历年国赛/美赛真题库 & 真题解析(持续更新中)

本专栏《滚雪球学数学建模》采用“从零开始、逐步滚雪球”的学习路径,把数学建模的基础理论、方法工具与大量实战真题(尤其是国赛题,涵盖2025-1992所有真题)有机融合,形成一套系统化训练路线。非常适合零基础入门、希望提升模型与工程化能力的本科/研究生,以及备战全国大学生数学建模竞赛(国赛/省赛)的同学。加油,我们一起把建模能力打造成可迁移的核心竞争力!

**My Coding Family** 26万+

xlistview

xlistview的所在类,需要实现IXlistview的一个监听,主代码如下: package example.xuexue.yuekao; import android.annotation.SuppressLint; import android.app.Activity; import android.os.Bundle; import android.os.Handler; im

Zhangxuexue_的博客 583

基于 ESP32 的智能药盒提醒装置设计与实现

本装置基于 ESP32 实现了智能药盒的核心功能,硬件选型兼顾成本与实用性,软件设计模块化、易拓展。后续可通过 ESP32 的 WiFi 模块接入物联网平台(如阿里云、OneNet),实现远程设置提醒、服药状态反馈等功能,进一步提升智能化水平。该装置能有效解决老人忘服药问题,具有较高的实用价值与推广潜力。

weixin_42300449的博客 1043

xlistview的布局

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:co

heheyihehe的博客 364

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

XListView汇总

XListView.java import android.annotation.SuppressLint; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.vie

遗声落西秦 275

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

XListView使用

weixin_44194980的博客 146

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

XListView下拉刷新

XListView控件是下拉刷新的中用到的控件,这个控件在下拉刷新的控件家庭中是最简单的吧。还有其他的下拉刷新控件适合在andrid studio中用到并且很方便使用,在eclipse中不支持不是jar包的格式,不能导进lib中,这些控件举几个例子:android-pulltorefresh、android-pulltorefresh-listview、android-Ultra-Pull-to-

小寒 451

xListView

package com.bwie.yukao;import java.io.IOException; import java.text.SimpleDateFormat; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.StatusLine; imp

Cotent的博客 389

XListView 的配置

1  首先要先粘贴3个Java文档  一个箭头图片 2个String文件  3个xml布局    2  在mainActivity中布局                    android:id="@+id/xListView"             android:layout_width="fill_parent"             android:layout_hei

qq_34703583的博客 326

XListView视图

       XlIstView在github上开源,,,地址:https://github.com/Maxwin-z/XListView-Android  * 1.下载gitHub上XlistView上的压缩包  * 2.复制view包下的三个类,,,,,注意导包的问题  * 3.赋值layout下面的footer布局和header的布局  * 4.赋值string下面的字段值  *  *...

不知道的博客 262

XListview展示优化后

package com.example.week2_04.frag; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.NonNull; import andr...

表叔很ok的博客 140

如何使用XlistView

&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-...

浅若清兮 426
上一篇: 平时开发时使用的依赖库
下一篇: 自定义生成二维码,可添加logo
老伞czx
博客等级 码龄9年 8粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值