• 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);
        }
  • 相关阅读:
    第一周2016/9/16
    团队项目计划会议
    电梯演讲视频
    团队项目成员与题目(本地地铁查询app)
    地铁查询相关问题汇总
    延长zencart1.5.x后台的15分钟登录时间和取消90天强制更换密码
    zencart1.5.x版管理员密码90天到期后台进入不了的解决办法
    通过SSH解压缩.tar.gz、.gz、.zip文件的方法
    html标签被div嵌套页面字体变大的解决办法
    zencart批量插入TEXT文本属性attributes
  • 原文地址:https://www.cnblogs.com/wuyudong/p/5584696.html
Copyright © 2020-2023  润新知