SimpleAdapter的参数

今天写实验作业的时候遇到了SimpleAdapter的问题,发现自己理解上有一些偏差,所以写一篇Blog来记录一下。先贴上代码。
MainActivity.java

packagecom.example.vincelee.interfacedemo; importandroid.content.Context; importandroid.support.v7.app.AppCompatActivity; importandroid.os.Bundle; importandroid.widget.BaseAdapter; importandroid.widget.Gallery; importandroid.widget.ImageSwitcher; importandroid.widget.SimpleAdapter; importjava.util.ArrayList; importjava.util.HashMap; importjava.util.List; importjava.util.Map; public classMainActivityextendsAppCompatActivity { //声明ImageSwitcher与图片数组 privateImageSwitcherimgs; privateString[]name={"ONE","TWO","THREE"}; private int[]pic={ R.drawable.drawable_1, R.drawable.drawable_2, R.drawable.drawable_3 }; @Override protected voidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); List> list =newArrayList>(); for(inti =0; i Map galleryitem =newHashMap(); galleryitem.put("img",pic[i]); galleryitem.put("Title",name[i]); list.add(galleryitem); } //获取ImageSwitcher对象和Gallery对象 imgs= (ImageSwitcher)findViewById(R.id.switcher); Gallery ga = (Gallery)findViewById(R.id.gallery); //设置Adapter SimpleAdapter sad =newSimpleAdapter(this,list,R.layout.galleryitemoverride,newString[]{"img","Title"},new int[]{R.id.img,R.id.Title}); ga.setAdapter(sad); } }

galleryitemoverride.xml
android:orientation="vertical"android:layout_width="match_parent" android:layout_height="match_parent"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/img"/> android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Title"/>

【SimpleAdapter的参数】activity_main


SimpleAdapter的参数
文章图片
效果图,资源图片网上随便找的,侵删
学习以后的理解是:
第一个参数是context;第二个参数是一个Map的List,第三个参数是布局资源的ID,第四个是我put到Map里的列名;第五个是在布局文件中列名对应的视图id。

SimpleAdapter的参数
文章图片

Android官方对SimpleAdapter的参数解释

    推荐阅读