Android RecyclerView實(shí)現(xiàn)數(shù)據(jù)列表展示效果
本文實(shí)例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內(nèi)容如下
1.首先導(dǎo)入依賴:
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; } //找到需要導(dǎo)入的布局 @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { view = LayoutInflater.from(mcontext).inflate(R.layout.news_item, null); return new ViewHolder(view); } //加載相應(yīng)的內(nèi)容 @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); } //手寫的重置數(shù)據(jù)的方法 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() { //加載網(wǎng)絡(luò)數(shù)據(jù),找P層去要 mainp.loadDataFromServer(url); } private void initdata() { mainp=new MainPresenter(this); //設(shè)置適配器 md=new NewsAdapter(this); //創(chuàng)建默認(rèn)的線性LayoutManager recy.setLayoutManager(new LinearLayoutManager(this)); recy.setAdapter(md); } //重寫的IMainView類接口的兩個(gè)方法 @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) { } }
效果圖:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android中RecyclerView實(shí)現(xiàn)多級(jí)折疊列表效果(二)
- Android中RecyclerView實(shí)現(xiàn)多級(jí)折疊列表效果(TreeRecyclerView)
- RecyclerView實(shí)現(xiàn)常見的列表菜單
- Android單個(gè)RecyclerView實(shí)現(xiàn)列表嵌套的效果
- Android使用RecyclerView實(shí)現(xiàn)自定義列表、點(diǎn)擊事件以及下拉刷新
- 使用RecyclerView實(shí)現(xiàn)水平列表
- Android列表RecyclerView排列布局
- RecyclerView優(yōu)雅實(shí)現(xiàn)復(fù)雜列表布局
相關(guān)文章
Android Support Library 標(biāo)題欄(Toolbar)滾動(dòng)效果實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄狝ndroid Support Library 標(biāo)題欄(Toolbar)滾動(dòng)效果實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03Android 8.0不能自動(dòng)安裝APK問題的解決方法(完美適配)
這篇文章主要給大家介紹了關(guān)于Android 8.0不能自動(dòng)安裝APK問題的解決方法(完美適配),這里的自動(dòng)安裝是指下載完成后,自動(dòng)彈出安裝界面,而不是靜默安裝APK,文中介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07Android動(dòng)態(tài)添加view的方法示例
本篇文章主要介紹了Android動(dòng)態(tài)添加view的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10解決Android加殼過程中mprotect調(diào)用失敗的原因分析
本文探討的主要內(nèi)容是mprotect調(diào)用失敗的根本原因,以及在加殼實(shí)現(xiàn)中的解決方案,通過本文的闡述,一方面能夠幫助遇到同類問題的小伙伴解決心中的疑惑,另一方面能夠給大家提供可落地的實(shí)現(xiàn)方案,需要的朋友可以參考下2022-01-01Android的TextView與Html相結(jié)合的具體方法
Android的TextView與Html相結(jié)合的具體方法,需要的朋友可以參考一下2013-06-06Android滑動(dòng)動(dòng)態(tài)分頁實(shí)現(xiàn)方法
這篇文章主要介紹了Android滑動(dòng)動(dòng)態(tài)分頁實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)滑動(dòng)動(dòng)態(tài)分頁的操作步驟與核心實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-10-10Android自定義View實(shí)現(xiàn)五子棋游戲
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11Android仿簡(jiǎn)書長(zhǎng)按文章生成圖片效果
使用簡(jiǎn)書APP的同學(xué)都知道,簡(jiǎn)書有這樣一個(gè)功能;文章頁長(zhǎng)按內(nèi)容時(shí)底部會(huì)出現(xiàn)一個(gè) 生成圖片分享 的按鈕,點(diǎn)擊之后就可以將當(dāng)前的文章生成一張長(zhǎng)圖片;這張圖片可以保存到本地或分享給好友,同時(shí)還可為圖片設(shè)置成為白和黑兩種風(fēng)格,很有藝術(shù)范2017-03-03Android遠(yuǎn)程服務(wù)編寫和調(diào)用教程
這篇文章主要介紹了Android遠(yuǎn)程服務(wù)編寫和調(diào)用教程,本文教大家如何編寫或者調(diào)用Android的遠(yuǎn)程服務(wù),感興趣的小伙伴們可以參考一下2016-02-02