Android RecyclerView实现数据列表展示效果
2017-07-12 08:43
961 查看
本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下
1.首先导入依赖:
compile 'com.android.support:recyclerview-v7:25.3.1'
2.适配器类:
public class NewsAdapter extends RecyclerView.Adapter { private View view; private Context mcontext; private ArrayList<NewsData.DataBean> mlist=new ArrayList<>(); public NewsAdapter(Context mcontext) { this.mcontext = mcontext; } //找到需要导入的布局 @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { view = LayoutInflater.from(mcontext).inflate(R.layout.news_item, null); return new ViewHolder(view); } //加载相应的内容 @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { ViewHolder viewholder=(ViewHolder)holder; viewholder.textview.setText(""+getItem(position).getNews_title()); Glide.with(mcontext).load(getItem(position).getPic_url()).into(viewholder.ima); } //手写的重置数据的方法 public void setdata(ArrayList<NewsData.DataBean> list){ if (list!=null&&list.size()>0){ mlist.addAll(list); } } //手写的获得视图的方法 public NewsData.DataBean getItem(int position){ return mlist.get(position); }; @Override public int getItemCount() { return mlist.size(); } //定义的ViewHolder类继承RecyclerView.ViewHolder 并找到布局中的ID public class ViewHolder extends RecyclerView.ViewHolder{ private TextView textview; private ImageView ima; public ViewHolder(View itemView) { super(itemView); textview=(TextView)itemView.findViewById(R.id.tv); ima=(ImageView)itemView.findViewById(R.id.image); } } }
3.主界面(用到RecyclerView的主要是initdata()方法和Handler):
public class MainActivity extends AppCompatActivity implements IMainView{ private MainPresenter mainp; private NewsAdapter md; private RecyclerView recy; private ArrayList<NewsData.DataBean> mlist=new ArrayList<>(); private String url="http://api.expoon.com/AppNews/getNewsList/type/1/p/1"; private Handler hand=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); Gson gson=new Gson(); if (msg.what==1) { NewsData newsData = gson.fromJson(msg.obj.toString(), NewsData.class); mlist=(ArrayList<NewsData.DataBean>) newsData.getData(); md.setdata((ArrayList<NewsData.DataBean>) mlist); md.notifyDataSetChanged(); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initview(); initdata(); initdatafromserver(); } private void initview() { recy=(RecyclerView)findViewById(R.id.recy); } private void initdatafromserver() { //加载网络数据,找P层去要 mainp.loadDataFromServer(url); } private void initdata() { mainp=new MainPresenter(this); //设置适配器 md=new NewsAdapter(this); //创建默认的线性LayoutManager recy.setLayoutManager(new LinearLayoutManager(this)); recy.setAdapter(md); } //重写的IMainView类接口的两个方法 @Override public void successfulCallback(String str) { Message msg = Message.obtain(); msg.what=1; msg.obj=str; hand.sendMessage(msg); } @Override public void errCallback(int code, String msg) { } }
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- Android使用RecyclerView实现今日头条频道管理功能
- Android利用RecyclerView编写聊天界面
- Android实现RecyclerView下拉刷新效果
- Android RecyclerView实现水平、垂直方向分割线
- Android RecyclerView显示Item布局不一致解决办法
- Android中使用RecyclerView实现下拉刷新和上拉加载
- Android中RecyclerView布局代替GridView实现类似支付宝的界面
- Android中RecyclerView实现横向滑动代码
- Android RecyclerView实现下拉刷新和上拉加载
- Android RecyclerView使用方法详解
相关文章推荐
- 展示数据使用:recyclerview,retrofit,greendao,butterknife,eventbus,fresco。实现效果图列表。MVP模式。
- Android RecyclerView (二)初学,实现GridView列表和瀑布流效果。
- Android单个RecyclerView实现列表嵌套的效果
- Android 使用RecyclerView实现列表item重叠效果(使用addItemDecoration方法)
- Android客户端之“微服私访”App的系统学习(六)RecyclerView 展现复杂数据列表以及水波纹效果+CardView显示头像
- Android中RecyclerView实现多级折叠列表效果(二)
- Android RecyclerView (一)初学,实现ListView列表效果。
- Android中RecyclerView实现多级折叠列表效果(TreeRecyclerView)
- Android使用RecyclerView实现列表数据选择操作
- KenBurnsView:实现Ken Burns effect图片展示效果的效果android控件
- Android之RecyclerView 实现真正的Gallery效果
- Android 自定义RecyclerView 实现真正的Gallery效果
- Android 自定义RecyclerView 实现真正的Gallery效果
- Android 自定义RecyclerView 实现真正的Gallery效果
- Android 自定义RecyclerView 实现真正的Gallery效果
- Android 自定义RecyclerView 实现真正的Gallery效果
- Android 自定义RecyclerView 实现真正的Gallery效果
- Android 自定义RecyclerView 实现真正的Gallery效果
- Android RecyclerView实现listview效果
- [Android]ScaleViewPager--仿“想去”客户端图片展示效果--中轴旋转ViewPager动画实现