继承BaseAdapter实现自定义Adapter
来源:互联网 发布:紫川软件靠谱吗? 编辑:程序博客网 时间:2024/05/20 05:10
android开发中会经常用来自定义的Adapter,如下就是一个简单的自定义Adapter实例。
import android.app.Activity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;/** * 自定义适配器通过ListView显示内容,这个比较重要需要掌握 * @author Dylan */public class CustomAdapterActivity extends Activity {private ListView mListView;private CustomAdapter mAdapter;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mListView = (ListView) findViewById(R.id.listview);mAdapter = new CustomAdapter();mListView.setAdapter(mAdapter);mListView.setOnItemClickListener(new ItemClickListener());}private final class ItemClickListener implements OnItemClickListener {// AdapterView<?> parent, --> ListView View view, ---> item int// position,--> item的数据在Adapter中位置 long id---> item在listView中得位置@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {String name = (String) mAdapter.getItem(position);Toast.makeText(getApplicationContext(), "name =" + name + ",position " + position, Toast.LENGTH_SHORT).show();}}private final class CustomAdapter extends BaseAdapter {private String[] names = new String[] { "无线和网络", "通话设置", "声音", "显示", "位置和安全", "应用程序", "账户与同步", "隐私权","SD卡和手机内存", "语言和键盘", "辅助功能", "日期和时间", "关于手机" };private int[] images = new int[] { R.drawable.image01, R.drawable.image02, R.drawable.image03,R.drawable.image04, R.drawable.image05, R.drawable.image06, R.drawable.image07, R.drawable.image08,R.drawable.image09, R.drawable.image10, R.drawable.image11, R.drawable.image12, R.drawable.image13 };private LayoutInflater mInflater;public CustomAdapter() {mInflater = getLayoutInflater();}// 描述adpter的大小(确定了listView的条目)@Overridepublic int getCount() {return names.length;}// Adapter对于的position的数据@Overridepublic Object getItem(int position) {return names[position];}// 得到item 在adapter所对应的位置@Overridepublic long getItemId(int position) {return position;}// 创建listview的item条目,把数据绑定给item int position, Adapter的下标 View// convertView, 缓存的第一屏item的布局文件 ViewGroup parent ListView@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View view = null;if (convertView != null) {view = convertView;} else {view = mInflater.inflate(R.layout.item, parent, false);}ImageView iv_header = (ImageView) view.findViewById(R.id.iv_header);TextView tv_name = (TextView) view.findViewById(R.id.tv_name);iv_header.setImageResource(images[position]);tv_name.setText(names[position]);return view;}/* * @Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewCache viewCache = null;if (convertView == null) {viewCache = new ViewCache();convertView = inflater.inflate(R.layout.folder_list_item, null);viewCache.tvName = (TextView) convertView.findViewById(R.id.tv_folder_name);viewCache.ivPreview = (ImageView) convertView.findViewById(R.id.iv_folder_preview);convertView.setTag(viewCache);} else {viewCache = (ViewCache) convertView.getTag();}FileInfo fileInfo = arrayList.get(position);viewCache.tvName.setText(new File(fileInfo.filePath).getName());return convertView;}public static class ViewCache {public ImageView ivPreview;public TextView tvName; } */}}
- 继承BaseAdapter实现自定义Adapter
- Android UI高级控件之自定义Adapter(继承BaseAdapter)
- 自定义Adapter:BaseAdapter
- 自定义适配器的实现继承BaseAdapter
- 继承BaseAdapter实现Filterable的adapter类完整示例
- 继承BaseAdapter实现Filterable的adapter类完整示例
- 扩展BaseAdapter实现Adapter
- 自定义Adapter(一般继承自BaseAdapter)时遇见的一个小问题
- 【android学习笔记】自定义Adapter继承BaseAdapter获取不到getview或者getview不执行的问题
- 【android学习笔记】自定义Adapter继承BaseAdapter获取不到getview或者getview不执行的问题
- 【android学习笔记】自定义Adapter继承BaseAdapter获取不到getview或者getview不执行的问题
- 自定义ListView适配器继承BaseAdapter
- android 自定义适配器Adapter基类BaseAdapter
- 实现自定义的BaseAdapter
- BaseAdapter自定义实现代码
- 基于BaseAdapter的安卓百变Adapter实现
- 基于BaseAdapter的安卓百变Adapter实现
- Android中的自定义Adapter(继承自BaseAdapter)——与系统Adapter的调用方法一致——含ViewHolder显示效率的优化
- Android中使用PULL方式解析XML和XmlSerializer进行序列化
- Android SQLite数据库操作实例
- TelephonyManager使用
- Android利用ContentResolver查询的三种方式
- iPhone应用程序编程指南(文件和网络)
- 继承BaseAdapter实现自定义Adapter
- Android的Widget编写实例
- Andorid中的Spinner编写实例
- windows如何注册DLL文件
- Android提交数据到服务器的两种方式四种方法
- Midnight Commander
- Mongo 学习笔记--Capped Collection
- ntpdate time.windows.com
- mac os 键值缩写