BaseAdapter 作为 ListView 适配器
2015-04-04 18:38
225 查看
ListView的填充需要一个adapter,它用来把数据映射到ListView中。以BaseAdapter作为其适配器为例。
BaseAdapter作为适配器使用相对较复杂,但它却能够实现多种列表布局。在BaseAdapter中需要重写一个类继承自BaseAdapter,并且重新实现里面的方法。例如自定义一个类MyAdapter。
getView方法是重点,应当注意
在activity文件中:
BaseAdapter作为适配器使用相对较复杂,但它却能够实现多种列表布局。在BaseAdapter中需要重写一个类继承自BaseAdapter,并且重新实现里面的方法。例如自定义一个类MyAdapter。
public class MyAdapter extends BaseAdapter { private Context context; //声明一个上下文对象,后续的getView方法加载布局时需要 public MyAdapter (Context context) //通过构造方法传递上下文对象 { this.context=context; } @Override public int getCount() { //控制该Adapter包含列表项的个数 return 0; } @Override public Object getItem(int position) { //决定第position处的列表项内容 return null; } @Override public long getItemId(int position) { //决定第position处的列表项ID return 0; } @Override //决定第position处的列表项组件 public View getView(int position, View convertView, ViewGroup parent) { return null; } }
getView方法是重点,应当注意
@Override //决定第position处的列表项组件 public View getView(int position, View convertView, ViewGroup parent) { if(convertView==null) { convertView=LayoutInflater.from(context).inflate(R.layout.news_item,null); } /* 以下为在news_item布局中的控件*/ TextView tvTitle=(TextView)convertView.findViewById(R.id.tvTitle); TextView tvDesc=(TextView)convertView.findViewById(R.id.tvDesc); TextView tvTime=(TextView)convertView.findViewById(R.id.tvTime); ImageView ivPic=(ImageView)convertView.findViewById(R.id.ivPic); return convertView; } }
在activity文件中:
</pre><pre name="code" class="java">public class NewsActivity extends Activity { private ListView lvNews; private MyAdapter adapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); lvNews=(ListView)findViewById(R.id.lvNews); adapter=new MyAdapter(this); lvNews.setAdapter(adapter); } }
相关文章推荐
- 12,对ListView的适配器的封装BaseListAdapter
- ListView适配器BaseAdapter
- android listview继承BaseAdapter,自定义的适配器,getView方法执行多组循环解决方式
- Android适配器之基于BaseAdapter定义AbslistView万能适配器
- Android ListView适配器BaseAdapter中getItemViewType需要注意的问题
- 【Android】以BaseAdapter做适配器的ListView及其性能优化
- 自定义ListView适配器继承BaseAdapter
- ListView (3) 之适配器 ArrayAdapter/SimpleAdapter/BaseAdapter
- 使用ListView和AsyncTask、fastjson解析Json以及适配器BaseAdapter来实现下载网络的图片以及文字并显示出来
- ListView 的三种适配器 BaseAdapter ArrayAdapter SimpleAdapter(3)
- listview适配器Baseadapter
- Android-ListView适配器BaseAdapter的使用和优化
- Android学习第五天————ExpandableListView组件通过适配器BaseExpandableListAdapter实现两层列表项
- Android组件ListView的适配器BaseAdapter
- 自学安卓复习基础_之十(使用适配器BaseAdapter来实现listView的CRD)
- ListView 的三种适配器 BaseAdapter ArrayAdapter SimpleAdapter(1)
- ListView 的三种适配器 BaseAdapter ArrayAdapter SimpleAdapter(2)
- 【Android】以BaseAdapter做适配器的ListView及其性能优化
- listView适配器之BaseAdapter详解
- 一句代码实现ListView图文加载的万能适配器BaseListViewAdapter<T>