使用AsyNcTask为RecyclerView添加数据
本人不会写文章,直接看
RecyclerView 是最新控件,需要依赖库文件,在build.gradle中引入以下文件
compile'com.android.support:recyclerview-v7:24.1.1'
后面的24什么的根据自己的版本修改
下面是我的布局
main_activity.xml layout_item.xml这是慕课网的一个接口http://www.imooc.com/api/teacher?type=4&num=30
我只用到了图片和title,所以只写了这两个用于展示
首先新建一个NewsInfo类,把需要用到的属性写出来(不需要set和get方法,构造方法等)
NwsInfo.java然后我们需要一个适配器需要继承与RecyclerView.Adapter
我们需要需要实现的方法给他实现了
RecyclerAdapter.java下面就是在MainActivity中进行操作了
首先我们绑定数据
RecyclerView mRecycleView= (RecyclerView) findViewById(R.id.listview);
我们需要一什么样的视图展示出来,官方给出了好几种试图,我是列表的形式展示(后面会把展示的形式写出来,这里就不哆嗦了)
mRecycleView.setLayoutManager(newLinearLayoutManager(this));
下面我们就需要异步操作了
首先别忘记把上网的权限加进去,以防万一,把读写的也加进去
首先新建一个内部类继承自AsyncTask<Params, Progress, Result>
第一个参数Params:启动任务执行的输入参数
第二个参数Progress:后台任务执行的进度
第一个参数Result后台计算结果的类型
需要实现doInBackground这个方法,我们可以在这个方法里面写请求数据的操作
这个是json解析的然后我们把onPostExecute方法实现了
在里面吧适配器写入到里面,把数据加载进去,然后再刷新就可以了
我们在Oncreate的方法里面跳用异步
newMAinAsynctask().execute(URL);
这样就可以了,看看数据加载进去没有,还有图片展示的我也贴出来就是ImageLoader