自定义ListView显示项
来源:互联网 发布:ubuntu怎么安装wine 编辑:程序博客网 时间:2024/06/05 02:20
public class PriceAdapter extends BaseAdapter { Map gasPrice;//加油站价格 Map price;//省控基准油价 Context contxt; ArrayList<String> price_num_list; ArrayList<String> gas_num_list; String oil_num;//油号 String oil_price;//油价 public PriceAdapter(Context context, Map gasPrice, Map price) { this.gasPrice = gasPrice; this.price = price; this.contxt = context; price_num_list = getList(price); gas_num_list = getList(gasPrice); } @Override public View getView(int position, View convertView, ViewGroup parent) { Map map; ArrayList<String> oil_num_list; if(position == 0){ TextView tv = new TextView(contxt); tv.setTextColor(Color.WHITE); tv.setBackgroundColor(Color.GRAY); tv.setText("加油站价格:"); return tv; } else if(position ==(gas_num_list.size() + 1)) { TextView tv = new TextView(contxt); tv.setTextColor(Color.WHITE); tv.setBackgroundColor(Color.GRAY); tv.setText("省控基准油价:"); return tv; } else if(position <= gas_num_list.size()) { map = gasPrice; oil_num_list = gas_num_list; int newposition = position - 1; oil_num = oil_num_list.get(newposition); oil_price = map.get(oil_num).toString(); } else { map = price; oil_num_list = price_num_list; int newposition = position - 1 - gas_num_list.size() - 1; oil_num = oil_num_list.get(newposition); oil_price = map.get(oil_num).toString(); } View inview; ViewHolder viewHolder; if(convertView != null && convertView instanceof LinearLayout) {// 需要检查是否为空,还要判断是否是合适的类型去复用,因为convertView 有可能是TextView 如果不检查会报空值 inview = convertView; viewHolder = (ViewHolder) inview.getTag(); } else { inview = LayoutInflater.from(contxt).inflate(R.layout.lv_price, null);; viewHolder = new ViewHolder(); viewHolder.tv_lv_price_name = (TextView) inview.findViewById(R.id.tv_lv_price_name); viewHolder.tv_lv_price_price = (TextView) inview.findViewById(R.id.tv_lv_price_price); inview.setTag(viewHolder); } viewHolder.tv_lv_price_name.setText(oil_num); viewHolder.tv_lv_price_price.setText(oil_price); return inview; } @Override public long getItemId(int position) { return 0; } @Override public Object getItem(int position) { return null; } @Override public int getCount() { return gas_num_list.size() + 1 + price_num_list.size() + 1; } class ViewHolder { TextView tv_lv_price_name; TextView tv_lv_price_price; } public ArrayList<String> getList(Map<String,String> map){ ArrayList<String> list = new ArrayList(); Set set = map.keySet(); Iterator<String> iterator = set.iterator(); while (iterator.hasNext()) { String temp = iterator.next(); list.add(temp); } return list; }}
做一个笔记方便以后自己复习使用
0 0
- 自定义ListView显示项
- Android中ListView的自定义显示
- 自定义listview的显示(重写Adapter)
- 自定义ListView滚动时,图片显示错乱
- 【android】自定义全屏dialog显示+listview
- 自定义ScrollView 和ListView 显示问题
- ListView---自定义listview的显示(重写Adapter)
- ListView显示自定义(listview与adapter用法)
- 自定义ListView:解决ScrollView嵌套ListView时ListView只显示两行
- 点击ListView item时,长时间显示自定义背景
- listview内容为空的时候显示自定义的内容
- 自定义dialog包含一个显示图片的listview
- 自定义listView在屏幕里显示的高度
- Android自定义Dialog布局listview 实现显示安装的应用
- KSOAP解析webService绑定到自定义适配器listView中显示
- 安卓短信读取并在自定义listview中显示
- Android 自定义Adapter 但listview 只显示第一条数据
- android之listview无数据时显示自定义view
- activity的启动模式和表示位
- windows远程登录全屏
- JQuery学习笔记(1)
- 图数据库之Cypher语言
- Inside Code Signing
- 自定义ListView显示项
- Mapreducer天气排序,分区,分组,排序
- 自定义组件使用属性资源
- The Falling Leaves
- Win10开发 - VS2015中可能遇到的问题
- haproxy 80跳转8080端口
- 设置vmware与主机IP同网段
- spring集成mina简明教程
- metasploit 中文系统安装失败问题