Android适配器的概念是什么(android,移动开发)

时间:2024-05-04 09:40:05 作者 : 石家庄SEO 分类 : 移动开发
  • TAG :
一、什么是适配器

在常见软件中,往往能看到列表一样的信息流,例如:

Android适配器的概念是什么

如果在xml中将信息写死,那显然是不合适的,无法做到上拉刷新的效果。

这个时候,就需要用到适配器。

Android适配器的概念是什么

Android中有很多的适配器,首先看看这些适配器的继承结构

Android适配器的概念是什么

这些适配器中,BaseAdapter用的最多,也用的最熟

二、Adapter基本概念和继承关系

Android适配器的概念是什么

三、自定义适配器实例

1.文件结构

Android适配器的概念是什么

2.xml内容

main.xml:

<?xmlversion="1.0"encoding="utf-8"?><ListViewxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/listview"android:layout_height="match_parent"android:layout_width="match_parent"android:orientation="vertical"></ListView>

listview_item.xml:

<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="100dp"android:gravity="center_vertical"android:orientation="horizontal"android:padding="15dp"><ImageViewandroid:id="@+id/img_icon"android:layout_width="130dp"android:layout_height="80dp"android:src="@mipmap/news"/><RelativeLayoutandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:layout_weight="1"><TextViewandroid:id="@+id/tv_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:text="我是一个新闻标题----1"android:textColor="#000000"android:textSize="18dp"/><TextViewandroid:id="@+id/tv_content"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:text="我是新闻内容----1"android:textColor="#000000"android:textSize="14dp"/></RelativeLayout></LinearLayout>

3.java内容

MainActivity

packagecn.edu.cdut.testadapter;importandroidx.appcompat.app.AppCompatActivity;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.AdapterView;importandroid.widget.ListView;importandroid.widget.Toast;importjava.util.LinkedList;importjava.util.List;publicclassMainActivityextendsAppCompatActivity{privateList<News>mData=null;privateContextmContext;privateNewsAdaptermAdapter=null;privateListViewlistView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mContext=this;listView=(ListView)findViewById(R.id.listview);mData=newLinkedList<News>();for(inti=0;i<10;i++){mData.add(newNews("我是一个新闻标题----"+i,"我是一个新闻内容----"+i,R.mipmap.news));}mAdapter=newNewsAdapter(mData,mContext);listView.setAdapter(mAdapter);listView.setOnItemClickListener(newAdapterView.OnItemClickListener(){@OverridepublicvoidonItemClick(AdapterView<?>parent,Viewview,intposition,longid){Toast.makeText(mContext,"点击了第"+position+"条数据",Toast.LENGTH_SHORT).show();}});}}

News.java

packagecn.edu.cdut.testadapter;publicclassNews{privateStringtitle;privateStringcontent;privateintaIcon;publicNews(){}publicNews(Stringtitle,Stringcontent,intaIcon){this.title=title;this.content=content;this.aIcon=aIcon;}publicStringgetTitle(){returntitle;}publicvoidsetTitle(Stringtitle){this.title=title;}publicStringgetContent(){returncontent;}publicvoidsetContent(Stringcontent){this.content=content;}publicintgetaIcon(){returnaIcon;}publicvoidsetaIcon(intaIcon){this.aIcon=aIcon;}}

NewsAdapter

packagecn.edu.cdut.testadapter;importandroid.content.Context;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.BaseAdapter;importandroid.widget.ImageView;importandroid.widget.TextView;importjava.util.List;publicclassNewsAdapterextendsBaseAdapter{privateList<News>mData;privateContextmContext;publicNewsAdapter(List<News>mData,ContextmContext){this.mData=mData;this.mContext=mContext;}@OverridepublicintgetCount(){returnmData.size();}@OverridepublicObjectgetItem(intposition){returnmData.get(position);}@OverridepubliclonggetItemId(intposition){returnposition;}@OverridepublicViewgetView(intposition,ViewconvertView,ViewGroupparent){convertView=LayoutInflater.from(mContext).inflate(R.layout.listview_item,parent,false);ImageViewimg_icon=(ImageView)convertView.findViewById(R.id.img_icon);TextViewtitle=(TextView)convertView.findViewById(R.id.tv_title);TextViewcontent=(TextView)convertView.findViewById(R.id.tv_content);img_icon.setBackgroundResource(mData.get(position).getaIcon());title.setText(mData.get(position).getTitle());content.setText(mData.get(position).getContent());returnconvertView;}}
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Android适配器的概念是什么的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:JavaScript如何使用unique函数下一篇:

7 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18