Android各种Adapter用法

ArrayAdapter比较简单,但它只能用于显示文字。

 1 public class MainActivity extends AppCompatActivity {
 2     private Spinner myspinner;
 3     private ArrayList<String> mlist=new ArrayList<String>();
 4     private ArrayAdapter myadapter;
 5     @Override
 6     protected void onCreate(Bundle savedInstanceState) {
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.activity_main);
 9         myspinner=(Spinner)findViewById(R.id.spinner);
10         myadapter=new ArrayAdapter<String>(this,android.R.layout.select_dialog_item,getdata(mlist));
11         myspinner.setAdapter(myadapter);
12     }
13     private ArrayList<String> getdata(ArrayList<String> mArrayList){
14         mArrayList.add("ENGLISH");
15         mArrayList.add("CHINA");
16         return mArrayList;
17     }

ArrayAdapter主函数

1   <Spinner
2         android:id="@+id/spinner"
3         android:layout_width="match_parent"
4         android:layout_height="wrap_content"
5         android:layout_weight="1" />

关于Spinner的xml布局

Context为当前的环境变量,TextViewResourceId为页面布局,List<T>表示数据源。

SimpleAdapter则有很强的扩展性,可以自定义出各种效果

 1 import android.support.v7.app.AppCompatActivity;
 2 import android.os.Bundle;
 3 import android.widget.SimpleAdapter;
 4 import android.widget.Spinner;
 5 import java.util.ArrayList;
 6 import java.util.HashMap;
 7 import java.util.List;
 8
 9 /**
10  * @author LinJinTang
11  */
12 public class MainActivity extends AppCompatActivity {
13     private Spinner myspinner;
14     private SimpleAdapter mysimpleadapter;
15     private List<HashMap<String,Object>> myhashmaps;
16     private HashMap<String,Object> mymap;
17
18     @Override
19     protected void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.activity_main);
22         myspinner = (Spinner) findViewById(R.id.spinner);
23         mysimpleadapter=new SimpleAdapter(this,getdata(),R.layout.spinner_layout,new String[]{"image","title","info"},new int[]{R.id.img,R.id.title,R.id.info});
24         myspinner.setAdapter(mysimpleadapter);
25     }
26     private List<HashMap<String ,Object>> getdata(){
27         myhashmaps=new ArrayList<HashMap<String, Object>>();
28         mymap=new HashMap<String,Object>();
29         mymap.put("image",R.drawable.img1);
30         mymap.put("title","CHINA");
31         mymap.put("info","I LIKE CHINA");
32         myhashmaps.add(mymap);
33
34         mymap=new HashMap<String,Object>();
35         mymap.put("image",R.drawable.img2);
36         mymap.put("title","FRANCE");
37         mymap.put("info","I LIKE FRANCE");
38         myhashmaps.add(mymap);
39
40         mymap=new HashMap<String,Object>();
41         mymap.put("image",R.drawable.img3);
42         mymap.put("title","ENGLISH");
43         mymap.put("info","I LIKE ENGLISH");
44         myhashmaps.add(mymap);
45     return myhashmaps;
46     }
47 }

SimpleAdapter函数代码

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:orientation="horizontal">
 7
 8     <ImageView
 9         android:id="@+id/img"
10         android:layout_width="100dp"
11         android:layout_height="80dp"
12         app:srcCompat="@mipmap/ic_launcher" />
13
14     <LinearLayout
15         android:layout_width="match_parent"
16         android:layout_height="match_parent"
17         android:orientation="vertical">
18
19         <TextView
20             android:id="@+id/title"
21             android:layout_width="match_parent"
22             android:layout_height="50dp"
23             android:textSize="20dp"
24             android:gravity="center"
25             android:text="TextView" />
26
27         <TextView
28             android:id="@+id/info"
29             android:layout_width="match_parent"
30             android:layout_height="30dp"
31             android:gravity="center"
32             android:text="TextView" />
33     </LinearLayout>
34 </LinearLayout>

SimpleApadter页面布局代码

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context="angrypig.lookingstar.MainActivity">
 8
 9
10     <Spinner
11         android:id="@+id/spinner"
12         android:layout_width="match_parent"
13         android:layout_height="wrap_content"
14         android:layout_weight="1" />
15 </LinearLayout>

关于Spinner的xml布局

Context为当前的环境变量,TextViewResourceId为页面布局,List<T>表示数据源,Form对应map的Key,to对应的是布局文件的Id。

时间: 2024-12-23 17:07:37

Android各种Adapter用法的相关文章

Android之Adapter用法总结

http://blog.csdn.net/fznpcy/article/details/8658155 Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid View)等地方都需要用到Adapter.如下图直观的表达了Data.Adapter.View三者的关系: Android中所有的Adapter一览: 由图可以看到在Android中与Adapter有关

Android之Adapter用法总结(转)

Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid View)等地方都需要用到Adapter.如下图直观的表达了Data.Adapter.View三者的关系: Android中所有的Adapter一览: 由图可以看到在Android中与Adapter有关的所有接口.类的完整层级图.在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的扩展.比较常用

Android之Adapter用法总结-(转)

Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid View)等地方都需要用到Adapter.如下图直观的表达了Data.Adapter.View三者的关系: Android中所有的Adapter一览: 由图可以看到在Android中与Adapter有关的所有接口.类的完整层级图.在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的扩展.比较常用

Android的Adapter用法总结

Android之Adapter用法总结 1.Adapter概念 定义为将一个类的接口变换成客户端所期待的一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 在android中我们可以这么看, Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid View)等地方都需要用到Adapter.如下图直观的表达了Data.Adapter.View三者的关系: Android中所有的Adapte

(转)Android之Adapter用法总结

1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(ListView,GridView)等地方都需要用到Adapter.如下图直观的表达了Data.Adapter.View三者的关系: Android中所有的Adapter一览: 由图可以看到在Android中与Adapter有关的所有接口.类的完整层级图.在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的扩展.比较常用的有 BaseAdapter,SimpleA

Android listview与adapter用法

listview与adapter用法 博客分类: android 一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView就是实现这个功能的.第二点也不难做到,在后面的学习中读者会发现,这非常简单. 一个ListView的创建需要3个元素. (1)ListView中的每一列的View. (2)填入View的数据或者图片等. (3)连接数据与ListView的适配器. 也就是说,要使用ListView,首先要了解什么是适配器

Android中Adapter之BaseAdapter使用

Android界面中有时候需要显示稍微复杂的界面时,就需要我们自定义一个adapter,而此adapter就要继承BaseAdapter,重新其中的方法. Android中Adapter类其实就是把数据源绑定到指定的View上,然后再返回该View,而返回来的这个View就是ListView中的某一 行item.这里返回来的View正是由我们的Adapter中的getView方法返回的.这样就会容易理解数据是怎样一条一条显示在ListView 中的. 在完成这篇文章中的例子之后,我思考了很长时间

Android技术18:Android中Adapter类详解

1.Adapter设计模式 Android中adapter接口有很多种实现,例如,ArrayAdapter,BaseAdapter,CursorAdapter,SimpleAdapter,SimpleCursorAdapter等,他们分别对应不同的数据源.例如,ArrayAdater对应List和数组数据源,而CursorAdapter对应Cursor对象(一般从数据库中获取的记录集).这些Adapter都需要getView方法返回当前列表项显示的View对象.当Model发生改变时,会调用Ba

Android WIFI 简单用法

随着Wifi的普及,在开发App的时候对wifi的考虑越来越多了.例如程序的升级在wifi下可以省很多流量,在通信软件中的视频通话.可以实现高画质的传输等等,Android提供了WifiManager类来帮助开发者们管理Wifi.下面就简单来说一下WifiManager的简单用法把. 权限: 为了使用WfiManager 我们需要在Androidmanifest.xml 加入权限: //本例中使用了前两个.具体请按照需要添加权限. <uses-permission android:name=&quo