Android common adapter

Common adapter: inherit from BaseAdapter

  1. ArrayAdapter
  2. SimpleAdapter
  3. SimpleCursorAdapter

Defined adapters: the data interface and bind. The rear end of the front end data adapter interface display, the data is made more appropriate, for display on the View.

一、ArrayAdapter

1. Definition: an array of adapters, multiple values packed into an array of list items, can only display a line of text, is the most simple adapter.
2, the data source: String [] or List

Example I: String [] data source

 		//字符串数组,作为数据源
 		String[] ctype=new String[]{"全部","美术","音乐","体育"};
        //设置常量(final)数组适配器,内含元素为字符串,第一个参数this为上下文指针
        // 第二个参数android.R.layout.simple_spinner_item为android提供的外观形式,第三个参数为将数据源装载入适配器中。
        final ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,ctype);
        //设置下拉菜单样式,android.R.layout.simple_spinner_dropdown_item为android提供的外观样式
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //获取下拉列表框
        Spinner spinner= (Spinner) findViewById(R.id.spinner);
        //将ArrayAdapter 添加Spinner 对象中
        spinner.setAdapter(adapter);
       //事件监听器,此时为:项目被选择时监听器
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                //获取选中值,并将其变成字符串。
                String str = adapterView.getItemAtPosition(i).toString();
                //输出
                Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {

            }
        });

    }

Example II: List of data sources to


        int[] imageid=new int[]{
                R.drawable.t1, R.drawable.t2, R.drawable.t3,
                R.drawable.t4, R.drawable.t5, R.drawable.t6,
                R.drawable.t7, R.drawable.t8, R.drawable.t9
        };

        String[] title=new String[]{
            "陈1","陈2","陈3","陈4","陈5","陈6","陈7","陈8","陈9"
        };
        //数据源为List
        List<Map<String,Object>> listitem=new ArrayList<Map<String,Object>>();
        //将数据放入List
        for(int i=0;i<imageid.length;i++)
        {
            Map<String,Object> map= new HashMap<String,Object>();
            map.put("image",imageid[i]);
            map.put("name",title[i]);
            listitem.add(map);
        }
        //设置并将数据放入适配器,第一个参数为上下文指针,第二个参数为数据来源,第三个参数为XML实现文件
        //第四个参数为List中的两个子项,第五个参数为listitem中的两个TextView ID
        SimpleAdapter adapter=new SimpleAdapter(this,listitem,R.layout.main,new String[]{"name","image"}
            ,new int[]{R.id.title,R.id.image});
        //获取xml中的listview
        ListView listview= (ListView) findViewById(R.id.listview);
        //将适配器放入listview中
        listview.setAdapter(adapter);
        //设置事件监听器
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Map<String,Object> map=(Map<String,Object>)adapterView.getItemAtPosition(i);
                Toast.makeText(MainActivity.this, map.get("name").toString(), Toast.LENGTH_LONG).show();
            }
        });
    }

二、SimpleAdapter

1, SimpleAdapter have the best scalability, various effects can customize
2, Data Source: String [] or List
example above, into the ArrayAdapter SimpleAdapter can.

三、SimpleCursorAdapter

1. Definition: SimpleCursorAdapter mainly used for general database, its data sources are generally Cursor database queries get.

// not learn because, for the time being blank.

Fourth, the custom adapter

1. Definition: DIY adapter, inherited from BaseAdapter.

Published 29 original articles · won praise 1 · views 3804

Guess you like

Origin blog.csdn.net/weixin_43786756/article/details/104225442