編輯:關於Android編程
在Android應用的開發中,ListView是最常用的一個列表顯示控件,微博,聯系人啊,反正只要涉及多數據展示的情況,都會用到ListView(另外就是GridView)。那麼ListView又是如何來展示數據的呢?這就是Adapter的應用了。
Adapter是將數據展示在ListView(GridView)中的一個接口。通過不同的Adapter,可以很方便地展示數據,也可以實現各種自定義的效果了。
在Android日常的開發中,常用的Adapter有如下三種:
1)ArrayAdapter
2)SimpleAdapter
3)BaseAdapter
下面幾篇文章會介紹一下這幾種Adapter的使用。
Android中關於Adapter的使用(上)ArrayAdapter
Android中關於Adapter的使用(再上)ArrayAdapter
Android中關於ListView的使用(中)SimpleAdapter
Android中關於Adapter的使用(下)BaseAdapter
我們首先下看一下ArrayAdapter。
接下來是在MainActivity中代碼:
private static final int NUM = 10000; private Listlist = new ArrayList (); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initList(); ListView listView = (ListView)findViewById(R.id.listView1); ArrayAdapter adapter = new ArrayAdapter (this, android.R.layout.simple_list_item_1, list); listView.setAdapter(adapter); } private void initList(){ for(int i=0;i
1)創建一個ArrayAdapter,它有如下三個參數,其中第二個參數就是每個ListItem要展示的數據,而第三個參數就是源數據的list了。/** * Constructor * * @param context The current context. * @param resource The resource ID for a layout file containing a TextView to use when * instantiating views. * @param objects The objects to represent in the ListView. */ public ArrayAdapter(Context context, int resource, List在這裡,我們傳進去的resource,也就是item的布局,是android本身提供的一個布局,它裡面只包含了一個textview。 效果圖如下:objects) { init(context, resource, 0, objects); }
雖然定義了10000個item,但是我們拼命往上拉,往下拉,效率其實還是OK的,這是因為手機屏幕能展現的item個數其實是用限的,但item離開屏幕之後,ArrayAdapter會將離開的View給重新利用起來,而不會再去重新創建一個新的view,在ArrayAdapter中getView的代碼如下:public View getView(int position, View convertView, ViewGroup parent) { return createViewFromResource(position, convertView, parent, mResource); } private View createViewFromResource(int position, View convertView, ViewGroup parent, int resource) { View view; TextView text; if (convertView == null) { view = mInflater.inflate(resource, parent, false); } else { view = convertView; }
其實,從這裡我們可以看到在BaseAdapter中如何優化View展示的技巧,就是重復利用View。
大家如果有興趣,可以繼續看下一篇,ArrayAdapter中也可以使用自定義的layout。
Android中關於Adapter的使用(再上)ArrayAdapter
由於安卓應用很廣泛,在工業中也常有一些應用,比如可以用安卓來去工業中的一些數據進行實現的監測,顯示,同時可以做一些自動化控制,當然在這裡,我不是做這些自動化控制方面的研究
准備:一. Mac OS X(10.9.2)編譯環境設置創建大小寫敏感的磁盤鏡像可以通過磁盤管理工具進行設置,也可以通過以下命令生成鏡像文件hdiutil create
LayoutInflater有兩個參數inflate(XmlPullParser parser, ViewGroup root, boolean attachToRoot
1 查看手機CPU信息 cmd——adb shell——cd /proc------cat cpuinfo 2 獲取cpu的是arm指令集,armv7指令集、還是ne