package bwie.zhengaihua20161107; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.ArrayAdapter; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; import baseactivity.BaseActivity; import butterknife.Bind; import xlistview.XListView; public class Main2Activity extends BaseActivity implements XListView.IXListViewListener { private ArrayAdapter<Bean.ResultBean.DataBean> adapter; private int tag; private int index = 1; @Bind(R.id.lv) XListView lv; private String url = "http://japi.juhe.cn/joke/content/list.from?key=%20874ed931559ba07aade103eee279bb37%20&pagesize=10&sort=asc&time=1418745237&page="; List<Bean.ResultBean.DataBean> newsList = new ArrayList<Bean.ResultBean.DataBean>(); Handler handler = new Handler() { @Override public void handleMessage(Message msg) { String result = (String) msg.obj; tag = msg.arg1; Gson gson = new Gson(); Bean be = gson.fromJson(result, Bean.class); List<Bean.ResultBean.DataBean> list = be.getResult().getData(); switch (tag) { case 1: newsList.addAll(list); adapter = new ArrayAdapter<Bean.ResultBean.DataBean>(Main2Activity.this, android.R.layout.simple_list_item_1, newsList); lv.setAdapter(adapter); break; case 2: newsList.clear(); newsList.addAll(list); adapter.notifyDataSetChanged(); lv.stopRefresh(); break; case 3: newsList.addAll(list); adapter.notifyDataSetChanged(); lv.stopLoadMore(); break; } super.handleMessage(msg); } }; /** * @param url * @param tag */ private void getEnqueue(String url, final int tag) { getAsyn(url, tag, handler); } @Override public int bindLayout() { return R.layout.activity_main2; } @Override public void initData() { } @Override public void initView(Bundle savedInstanceState) { lv.setPullLoadEnable(true); lv.setXListViewListener(this); } @Override public void loadData() { getEnqueue(url + (index++), 1); } @Override public void onRefresh() { index = 1; getEnqueue(url + (index++), 2); } @Override public void onLoadMore() { getEnqueue(url + (index++), 3); } }
相关推荐
最好用的android-mvp框架,包含了rxjava+retrofit+okhttp的网络框架、6.0动态授权、以及activity、fragment的基类封装等 一、有哪些功能: 1、框架整体基于MVP架构,结合了rxjava+retrofit+okhttp的网络框架,Demo...
标题中的"BaseActivity+动态权限"指的是在应用程序的基础Activity类(BaseActivity)中实现动态权限申请的机制,以便在整个应用中统一处理权限请求。这种方式可以帮助开发者避免在每个需要权限的Activity中重复编写...
Headline仿头条app,MVP模式,Retrofit+RxJava+OkHttp+Glide框架等,持续开发中。。。其中数据来自截图point基本遵循Material Design设计风格;使用经典MVP模式进行封装;模块化开发,将整体项目分为底层net库、ui库...
PlanA是一个集成的BaseActivity,BaseFragment,BasePermission,PRouter路由管理,多种开发所需的工具类,Retrofit2 + Okhttp + RxJava的网络请求终极封装(行人实现网络请求),文件上传下载和进度缩减,多种开发...
在这个场景下,我们将探讨如何自定义标题栏并在`BaseActivity`中加载布局。 首先,我们来创建`BaseActivity`。在Android Studio中,可以在`java`目录下新建一个名为`BaseActivity`的类,继承自`AppCompatActivity`...
网络请求框架将会采用 RxJava + Retrofit + OkHttp的方式,在网络请求中会对三者进行一些简单的配合封装 在网络请求示例中,会用到Gank的API,在此表示感谢! 图片加载框架 图片加载将会使用Glide进行加载,在...
网络请求框架将会采用 RxJava + Retrofit + OkHttp的方式,在网络请求中会对三者进行一些简单的配合封装 在网络请求示例中,会用到Gank的API,在此表示感谢! 图片加载框架 图片加载将会使用Glide进行加载,在使用...
仿头条app,MVP模式,Retrofit+RxJava+OkHttp+Glide框架等,持续优化中。。。 其中数据来自 截图 point 基本遵循Material Design设计风格; 使用经典MVP模式进行封装; 模块化开发,将整体项目分为底层net库、ui库和...
基本项目框架,项目采用MVP+RxJAVA+Okhttp+Retrofit+dagger2实现。项目中带有最基本的BaseActivity,BaseFragment封装 基本功能:1.滑动返回,所有的activity都extends SwipeBackAppCompatActivity,方便实现滑动返回...
《Android开发:MVP+Retrofit+RxJava+OkHttp深度解析及实战应用》 在Android应用开发中,为了提高代码的可维护性和可扩展性,开发者常常采用Model-View-Presenter(MVP)架构模式。同时,为了实现高效的数据交互和...
每个特定功能的Activity可能会有共有的初始化工作,如设置主题、布局、权限检查、数据加载等。这些共性操作可以通过BaseActivity来实现,然后在具体的Activity中继承它,从而避免在每个Activity里都写一遍相同代码。...
RxJava + Retrofit2 + OkHttp3 做网络请求 ViewPager +TabLayout +Fragment 加载 SwipeRefreshLayout的下拉刷新和加载 实现首页的RecyclerView的瀑布流展示 V层基类的构建, 包括 BaseActivity 和 BaseFragment 视频...
8. **通用的加载和空页面布局**:在无数据或加载中时显示相应的提示。 在名为`mvpdemo`的压缩包中,很可能包含了实现上述功能的示例代码,开发者可以通过学习和理解这个示例,快速地在自己的项目中应用MVP封装和...
即时天气:sun_behind_cloud:使用MVVM模式Retrofit2,LiveData,ViewModel,协程,房间,导航组件,数据绑定和Android J的其他库实现的Android天气应用程序即时天气using使用MVVM模式Retrofit2实现的Android天气应用...
在`BaseActivity`中,我们需在`onCreate()`方法中加载这个自定义布局,并将其设置为父视图的顶部。这可以通过以下代码实现: ```java setContentView(R.layout.activity_main); View customTitleBar = ...
在Android应用开发中,动画效果是提升用户体验的重要一环,特别是在数据加载、界面切换等场景中,优雅的加载动画能够使用户感到等待的过程更加愉快。本文将深入探讨名为"LoadAnimTemplate"的Android简易框架,它专为...
`BaseActivity`通常包含一些基本的初始化操作、UI布局加载、事件处理以及通用的业务逻辑。 创建`BaseActivity`的主要步骤包括: 1. **定义基类**: 创建一个名为`BaseActivity`的类,让它继承自Android的`...
对应文章“Android开发优化-使用BaseActivity”的Demo源码,文章链接:http://blog.csdn.net/tianmaxingkong_/article/details/50276171
4. **网络请求集成**:集成了常用的网络库,如Retrofit、OkHttp等,简化网络请求的编写。 5. **数据缓存**:可能包含了本地数据存储的解决方案,如SQLite数据库、SharedPreferences或 Room Persistence Library。 ...
在Android开发中,`BaseActivity`是一个常见的设计模式,它被用作所有其他活动(Activity)的基类,目的是为了代码复用和模块化。通过继承`BaseActivity`,开发者可以将通用的功能集中到一个地方,减少每个具体...