ListView使用SimpleAdapter,或者继承BaseAdapter重写
来源:互联网 发布:mac os怎么玩dota2 编辑:程序博客网 时间:2024/05/22 07:49
public class MainActivity extends ActionBarActivity {
private ListView listView;
private List<Map<String, Object>> mData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.index);
listView = (ListView) findViewById(R.id.listView);
//两种方法:一般用SimpleAdapter,或者继承BaseAdapter自己重写。
/* SimpleAdapter simpleAdapter=new SimpleAdapter(MainActivity.this, getData(), R.layout.activity_main, new String[]{"appimg","appnametext", "sizetext",
"amounttext"}, new int[]{R.id.appimg ,R.id.appnametext,
R.id.sizetext,R.id.amounttext});
listView.setAdapter(simpleAdapter);*/
mData=getData();
MyAdapter adapter =new MyAdapter(this);
listView.setAdapter(adapter);
}
private List<Map<String, Object>> getData() {
// TODO Auto-generated method stub
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("appnametext", "微信");
map.put("sizetext", "15.2");
map.put("amounttext", "1234323");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "手机QQ");
map.put("sizetext", "8.5");
map.put("amounttext", "122073323");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "手机QQ空间");
map.put("sizetext", "6.3");
map.put("amounttext", "122393");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "微博");
map.put("sizetext", "7.7");
map.put("amounttext", "1278323");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "陌陌");
map.put("sizetext", "6.9");
map.put("amounttext", "1279073");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "飞信");
map.put("sizetext", "6.9");
map.put("amounttext", "1279073");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
return list;
}
public final class ViewHolder {
/**
* 控件对应的javabean*/
//应用程序logo
public ImageView appimg;
//应用程序名称
public TextView appnametext;
//应用大小
public TextView sizetext;
//下载次数
public TextView amounttext;
//下载按钮
public Button dowmbutton;
}
public class MyAdapter extends BaseAdapter {
//用来找一个xml文件,功能跟findviewbyid差不多
private LayoutInflater mInflater;
public MyAdapter(Context context) {
this.mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
ViewHolder holder = null;
if (arg1 == null) {
//实例化
holder = new ViewHolder();
//找xml布局文件
arg1 = mInflater.inflate(R.layout.activity_main, null);
//获取控件
holder.appimg = (ImageView) arg1.findViewById(R.id.appimg);
holder.appnametext = (TextView) arg1.findViewById(R.id.appnametext);
holder.sizetext = (TextView) arg1.findViewById(R.id.sizetext);
holder.amounttext = (TextView) arg1.findViewById(R.id.amounttext);
holder.dowmbutton = (Button) arg1.findViewById(R.id.dowmbutton);
//即利用holder,调用convertView.setTag函数
arg1.setTag(holder);
} else {
holder = (ViewHolder) arg1.getTag();
}
holder.appimg.setBackgroundResource((Integer) mData.get(arg0).get("appimg"));
holder.appnametext.setText((String) mData.get(arg0).get("appnametext"));
holder.sizetext.setText((String) mData.get(arg0).get("sizetext"));
holder.amounttext.setText((String) mData.get(arg0).get("amounttext"));
return arg1;
}
}
private ListView listView;
private List<Map<String, Object>> mData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.index);
listView = (ListView) findViewById(R.id.listView);
//两种方法:一般用SimpleAdapter,或者继承BaseAdapter自己重写。
/* SimpleAdapter simpleAdapter=new SimpleAdapter(MainActivity.this, getData(), R.layout.activity_main, new String[]{"appimg","appnametext", "sizetext",
"amounttext"}, new int[]{R.id.appimg ,R.id.appnametext,
R.id.sizetext,R.id.amounttext});
listView.setAdapter(simpleAdapter);*/
mData=getData();
MyAdapter adapter =new MyAdapter(this);
listView.setAdapter(adapter);
}
private List<Map<String, Object>> getData() {
// TODO Auto-generated method stub
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("appnametext", "微信");
map.put("sizetext", "15.2");
map.put("amounttext", "1234323");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "手机QQ");
map.put("sizetext", "8.5");
map.put("amounttext", "122073323");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "手机QQ空间");
map.put("sizetext", "6.3");
map.put("amounttext", "122393");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "微博");
map.put("sizetext", "7.7");
map.put("amounttext", "1278323");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "陌陌");
map.put("sizetext", "6.9");
map.put("amounttext", "1279073");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
map = new HashMap<String, Object>();
map.put("appnametext", "飞信");
map.put("sizetext", "6.9");
map.put("amounttext", "1279073");
map.put("appimg", R.drawable.ic_launcher);
list.add(map);
return list;
}
public final class ViewHolder {
/**
* 控件对应的javabean*/
//应用程序logo
public ImageView appimg;
//应用程序名称
public TextView appnametext;
//应用大小
public TextView sizetext;
//下载次数
public TextView amounttext;
//下载按钮
public Button dowmbutton;
}
public class MyAdapter extends BaseAdapter {
//用来找一个xml文件,功能跟findviewbyid差不多
private LayoutInflater mInflater;
public MyAdapter(Context context) {
this.mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
ViewHolder holder = null;
if (arg1 == null) {
//实例化
holder = new ViewHolder();
//找xml布局文件
arg1 = mInflater.inflate(R.layout.activity_main, null);
//获取控件
holder.appimg = (ImageView) arg1.findViewById(R.id.appimg);
holder.appnametext = (TextView) arg1.findViewById(R.id.appnametext);
holder.sizetext = (TextView) arg1.findViewById(R.id.sizetext);
holder.amounttext = (TextView) arg1.findViewById(R.id.amounttext);
holder.dowmbutton = (Button) arg1.findViewById(R.id.dowmbutton);
//即利用holder,调用convertView.setTag函数
arg1.setTag(holder);
} else {
holder = (ViewHolder) arg1.getTag();
}
holder.appimg.setBackgroundResource((Integer) mData.get(arg0).get("appimg"));
holder.appnametext.setText((String) mData.get(arg0).get("appnametext"));
holder.sizetext.setText((String) mData.get(arg0).get("sizetext"));
holder.amounttext.setText((String) mData.get(arg0).get("amounttext"));
return arg1;
}
}
阅读全文
0 0
- ListView使用SimpleAdapter,或者继承BaseAdapter重写
- ListView中的SimpleAdapter和BaseAdapter使用
- 关于ListView使用BaseAdapter和SimpleAdapter适配器
- android ListView使用的三种方法汇总(通过继承BaseAdapter,使用SimpleAdapter和SimpleCursorAdapter)
- ListView与 simpleadapter 。baseadapter
- listView、baseAdapter、arrayAdapter、simpleAdapter
- 3.2列表的使用listview与BaseAdapter、simpleAdapter、ArrayAdapter
- BaseAdapter与SimpleAdapter的使用
- 填充ListView(继承BaseAdapter)
- SimpleAdapter,Android ListView使用BaseAdapter与ListView的优化,SQL命令
- 重写SimpleAdapter实现自定义ListView
- ListView (3) 之适配器 ArrayAdapter/SimpleAdapter/BaseAdapter
- Android之ListView使用方法-ArrayAdapter-SimpleAdapter-BaseAdapter
- 五分钟学会之ListView<simpleAdapter><BaseAdapter>
- ListView适配--BaseAdapter和SimpleAdapter的区别
- 安卓小白第5天之ListView使用和重写BaseAdapter
- android Adapter综合使用(ArrayAdapter、SimpleAdapter、BaseAdapter在ListView和GridView中的使用)
- 分别使用simpleAdapter和baseAdapter为ListView的Item添加按钮响应事件
- eclipse egit(版本回退)
- Java#字符串(String)方法
- 浏览器缓存深入研究
- FFOS introduction
- Java笔记
- ListView使用SimpleAdapter,或者继承BaseAdapter重写
- WEB基础,select触发事件,获取option自定义属性的值
- Tensorflow学习笔记2:About Session, Graph, Operation and Tensor
- 2017.06.13牛客网第一天Java试题学习
- ANDROID MANIFEST.XML中的META-DATA属性
- K-近邻算法
- leetcode18. 4Sum
- python第23篇之--列表操作
- 创建FFOS 应用