Android之旅第四站——适配ArrayAdapter,simpleadapter和自定义adapter的区别…
来源:互联网 发布:c#怎么读取串口数据 编辑:程序博客网 时间:2024/06/05 03:48
1.ArrayAdapter
只可以简单的显示一行文本
adapter=new ArrayAdapter(this, R.layout.item_main_lv, R.id.item_main_lv_name, datas);
2.SimpleAdapter
可以显示比较复杂的列表,包括每行显示图片、文字等,但不能对列表进行后期加工(在Java代码中加工),
也是只是单纯的负责显示(当然可以设计复杂点的布局来显示复杂列表),例如,每行显示不同背景等。
3.自定义Adapter
可以实现复杂的列表布局,由于BaseAdapter是一个抽象类,使用该类需要自己写一个适配器继承该类,
正是由于继承了该类,需要我们重写一些方法,让我们可以在代码里控制列表的样式,更加灵活。
自定义adapter:
package com.example.zdyadapter;import java.util.List;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;public class Zdyadapter extends BaseAdapter { private MainActivity main; private List<JBean> datas; public Zdyadapter(MainActivity main, List<JBean> datas) { super(); this.main = main; this.datas = datas; } @Override public int getCount() { // TODO Auto-generated method stub return datas.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return datas.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub View v = null; ViewHolder vh = null; JBean jb = datas.get(position); if (convertView == null) { vh = new ViewHolder(); v = main.getLayoutInflater().inflate(R.layout.item, null); vh.tv = (TextView) v.findViewById(R.id.main_tv); vh.tv1 = (TextView) v.findViewById(R.id.main_tv1); vh.iv = (ImageView) v.findViewById(R.id.mian_iv); v.setTag(vh); } else { v = convertView; vh = (ViewHolder) v.getTag(); } vh.tv.setText(jb.getXuhao()); vh.tv1.setText(jb.getName()); vh.iv.setImageResource(jb.getIv()); return v; } private static class ViewHolder { public TextView tv, tv1; public ImageView iv; }}
Mainactivity:
package com.example.zdyadapter;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.ListView;public class MainActivity extends Activity { private ListView lv; private List<JBean> datas; private Zdyadapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initDatas(); initViews(); } private void initViews() { // TODO Auto-generated method stub lv = (ListView) findViewById(R.id.main_lv); adapter = new Zdyadapter(this, datas); lv.setAdapter(adapter); } private void initDatas() { // TODO Auto-generated method stub datas = new ArrayList<JBean>(); datas.add(new JBean("1", "剪刀", R.drawable.a)); datas.add(new JBean("2", "八叉", R.drawable.b)); datas.add(new JBean("3", "问号", R.drawable.c)); datas.add(new JBean("4", "与", R.drawable.d)); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
0 0
- Android之旅第四站——适配ArrayAdapter,simpleadapter和自定义adapter的区别…
- ArrayAdapter,SimpleAdapter,自定义Adapter区别代码
- Android Adapter接口及实现类之ArrayAdapter、SimpleAdapter和BaseAdapter的简单介绍及运用
- Android学习笔记之——ListView 的两种适配器ArrayAdapter和SimpleAdapter
- Android之旅第四站——ArrayAdapter的使用…
- Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法
- Android学习之Adapter:SimpleAdapter,SimpleCursorAdapter,ArrayAdapter(数据库 列表)
- Android SimpleAdapter,SimpleCursorAdapter,ArrayAdapter的区别
- [Android] Adapter:SimpleAdapter SimpleCursorAdapter ArrayAdapter 与ListView的用法
- Android 常用Adapter(ArrayAdapter ,SimpleAdapter ,BaseAdapter )的具体用法
- 我的Android进阶之旅------>Android ListView 应用解析(使用ArrayAdapter,SimpleAdapter和SimpleCursorAdapter适配器)
- 【Android学习笔记】Adapter - ArrayAdapter、SimpleAdapter
- Android-Adapter实现方法(ArrayAdapter,SimpleAdapter,SimpleCursorAdapter)
- [Android]ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别
- android---------ArrayAdapter、SimpleAdapter和BaseAdapter
- android-----ArrayAdapter、SimpleAdapter和BaseAdapter
- Android常用控件—Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
- 【Android】Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法
- 每天一个 Linux 命令(23):Linux 目录结构
- unity FBX模型导出系统源码WRP FBX Exporter下载
- LuceneInAction-构建索引
- NLP︱高级词向量表达(一)——GloVe(理论、相关测评结果、R&python实现、相关应用)
- 解决ASP.NET MVC(post数据)Json请求太大,无法反序列化
- Android之旅第四站——适配ArrayAdapter,simpleadapter和自定义adapter的区别…
- Amaze UI React框架快速体验上手
- plsql如何配置连接oracle数据库
- C++ 优先队列的基本使用方法
- 算法训练 寻找数组中最大值
- matlab日历制作
- Android WebView JS和java交互
- MyBatis对数据库的CRUD(一些标签的使用)
- js中两个控件实现一个功能的写法