zoukankan      html  css  js  c++  java
  • Android 常用数据适配器ArrayAdapter

    接着上篇文章《Android 采用Layout Inflater创建一个View对象》,本文采用常用数据适配器ArrayAdapter

    新建项目后,在layout文件夹下新建list_item.xml文件,接着编辑布局,代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher" />
    
        <TextView
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
    </LinearLayout>

    接着在MainActivity中添加代码:

    package com.wuyudong.arrayadapter;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    
    public class MainActivity extends Activity {
    
        private static String[] names = { "功能1", "功能2", "功能3", "功能4", "功能5" };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            ListView lv = (ListView) findViewById(R.id.lv);
            lv.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item,
                    R.id.tv, names));
    
        }
    }

    运行一下:

    ArrayAdapter的构造函数较多,其中的参数的含义可以参见源代码

       /**
         * Constructor
         *
         * @param context The current context.
         * @param resource The resource ID for a layout file containing a TextView to use when
         *                 instantiating views.
         */
        public ArrayAdapter(Context context, int resource) {
            init(context, resource, 0, new ArrayList<T>());
        }
    
        /**
         * Constructor
         *
         * @param context The current context.
         * @param resource The resource ID for a layout file containing a layout to use when
         *                 instantiating views.
         * @param textViewResourceId The id of the TextView within the layout resource to be populated
         */
        public ArrayAdapter(Context context, int resource, int textViewResourceId) {
            init(context, resource, textViewResourceId, new ArrayList<T>());
        }
    
        /**
         * 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, T[] objects) {
            init(context, resource, 0, Arrays.asList(objects));
        }
    
        /**
         * Constructor
         *
         * @param context The current context.
         * @param resource The resource ID for a layout file containing a layout to use when
         *                 instantiating views.
         * @param textViewResourceId The id of the TextView within the layout resource to be populated
         * @param objects The objects to represent in the ListView.
         */
        public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) {
            init(context, resource, textViewResourceId, Arrays.asList(objects));
        }
    
        /**
         * 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<T> objects) {
            init(context, resource, 0, objects);
        }
    
        /**
         * Constructor
         *
         * @param context The current context.
         * @param resource The resource ID for a layout file containing a layout to use when
         *                 instantiating views.
         * @param textViewResourceId The id of the TextView within the layout resource to be populated
         * @param objects The objects to represent in the ListView.
         */
        public ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects) {
            init(context, resource, textViewResourceId, objects);
        }
  • 相关阅读:
    区块链服务平台设计
    Fabric 架构与设计
    ELSE 技术周刊(2017.12.25期)
    ELSE 技术周刊(2017.12.25期)
    ELSE 技术周刊(2017.12.25期)
    UDT的Sender和Receiver
    UDT的Sender和Receiver
    UDT的Sender和Receiver
    UDT的Sender和Receiver
    JavaScript 后台获取数据
  • 原文地址:https://www.cnblogs.com/wuyudong/p/5584696.html
Copyright © 2011-2022 走看看