最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android RecyclerView實(shí)現(xiàn)數(shù)據(jù)列表展示效果

 更新時(shí)間:2017年07月12日 08:43:25   作者:leehbhs  
這篇文章主要為大家詳細(xì)介紹了Android RecyclerView實(shí)現(xiàn)數(shù)據(jù)列表展示效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(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) {

 }
}

效果圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Flutter實(shí)現(xiàn)下拉刷新和上拉加載更多

    Flutter實(shí)現(xiàn)下拉刷新和上拉加載更多

    這篇文章主要為大家詳細(xì)介紹了Flutter實(shí)現(xiàn)下拉刷新和上拉加載更多,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android實(shí)現(xiàn)畫板功能(一)

    Android實(shí)現(xiàn)畫板功能(一)

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)畫板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • AndroidGUI27中findViewById返回null的快速解決辦法

    AndroidGUI27中findViewById返回null的快速解決辦法

    這篇文章主要介紹了AndroidGUI27中findViewById返回null的快速解決辦法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 一文詳解Jetpack?Android新一代導(dǎo)航管理Navigation

    一文詳解Jetpack?Android新一代導(dǎo)航管理Navigation

    這篇文章主要為大家介紹了Jetpack?Android新一代導(dǎo)航管理Navigation詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Android?App頁面滑動(dòng)標(biāo)題欄顏色漸變詳解

    Android?App頁面滑動(dòng)標(biāo)題欄顏色漸變詳解

    這篇文章主要為大家詳細(xì)介紹了Android?App頁面滑動(dòng)標(biāo)題欄顏色漸變,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Kotlin 使用Lambda來設(shè)置回調(diào)的操作

    Kotlin 使用Lambda來設(shè)置回調(diào)的操作

    這篇文章主要介紹了Kotlin 使用Lambda來設(shè)置回調(diào)的操作方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Android如何通過Retrofit提交Json格式數(shù)據(jù)

    Android如何通過Retrofit提交Json格式數(shù)據(jù)

    本篇文章主要介紹了Android如何通過Retrofit提交Json格式數(shù)據(jù),具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • Android實(shí)現(xiàn)單選按鈕

    Android實(shí)現(xiàn)單選按鈕

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)單選按鈕,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Android文字基線Baseline算法的使用講解

    Android文字基線Baseline算法的使用講解

    今天小編就為大家分享一篇關(guān)于Android文字基線Baseline算法的使用講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 解決Android Studio Gradle Metadata特別慢的問題

    解決Android Studio Gradle Metadata特別慢的問題

    這篇文章主要介紹了解決Android Studio Gradle Metadata特別慢的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評(píng)論

孟村| 莲花县| 松滋市| 长白| 乐业县| 彭阳县| 大丰市| 文登市| 桐庐县| 武川县| 龙游县| 涟水县| 平遥县| 孝义市| 景泰县| 浦城县| 济南市| 札达县| 淮安市| 麦盖提县| 桃园市| 嘉兴市| 留坝县| 淮阳县| 和平县| 通山县| 喜德县| 梅河口市| 石林| 西贡区| 曲靖市| 日照市| 宝山区| 岐山县| 永泰县| 新余市| 祥云县| 宁波市| 福海县| 都兰县| 永春县|