zoukankan      html  css  js  c++  java
  • 模拟QQ分组

      1 package com.lixu.fenzu;
      2 
      3 import java.util.ArrayList;
      4 import java.util.HashMap;
      5 
      6 import android.app.ListActivity;
      7 import android.content.Context;
      8 import android.graphics.Color;
      9 import android.os.Bundle;
     10 import android.util.Log;
     11 import android.view.LayoutInflater;
     12 
     13 import android.view.View;
     14 import android.view.ViewGroup;
     15 import android.widget.ArrayAdapter;
     16 import android.widget.ListView;
     17 import android.widget.TextView;
     18 
     19 public class MainActivity extends ListActivity {
     20     private static final String TYPE = "type";
     21     private static final String DATE = "date";
     22     private static final int GROUP = -1;
     23     private static final int ITEM = -2;
     24 
     25     private ArrayList<HashMap<String, Object>> item = null;
     26 
     27     @Override
     28     protected void onCreate(Bundle savedInstanceState) {
     29         super.onCreate(savedInstanceState);
     30 
     31         ListView lv = this.getListView();
     32         ArrayAdapter adapter = new MyAdaper(this, 1);
     33 
     34         item = new ArrayList<HashMap<String, Object>>();
     35         
     36 
     37         String[] groups = { "家人", "朋友", "同学", "同事" };
     38         String[] date = { "张三", "李四", "王五", "狗儿" };
     39         for (String str:groups) {  
     40             HashMap<String, Object> group_map = new HashMap<String, Object>();
     41 
     42             group_map.put(TYPE, GROUP);
     43             group_map.put(DATE, str);
     44             item.add(group_map);
     45             for (String n : date) {
     46 
     47                 HashMap<String, Object> date_map = new HashMap<String, Object>();
     48 
     49                 date_map.put(TYPE, ITEM);
     50                 date_map.put(DATE, n);
     51                 item.add(date_map);
     52 
     53             }
     54 
     55         }
     56         lv.setAdapter(adapter);
     57 
     58     }
     59 
     60     public class MyAdaper extends ArrayAdapter {
     61         private LayoutInflater flater = null;
     62 
     63         public MyAdaper(Context context, int resource) {
     64             super(context, resource);
     65             flater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     66         }
     67 
     68         @Override
     69         public int getCount() {
     70             return item.size();
     71         }
     72 
     73         @Override
     74         public int getItemViewType(int position) {
     75             HashMap<String, Object> map = item.get(position);
     76             return (Integer) map.get(TYPE);
     77         }
     78 
     79         @Override
     80         public int getViewTypeCount() {
     81 
     82             return 2;
     83         }
     84 
     85         @Override
     86         public View getView(int position, View convertView, ViewGroup parent) {
     87             int type = getItemViewType(position);
     88             // 根据不同的view type加载不同的布局文件。
     89             switch (type) {
     90             case GROUP:
     91 
     92                 convertView = flater.inflate(R.layout.activity_main, null);
     93                 TextView tv1 = (TextView) convertView.findViewById(R.id.tv1);
     94                 tv1.setText(item.get(position).get(DATE) + "");
     95                 tv1.setBackgroundColor(Color.RED);
     96                 tv1.setTextSize(20);
     97 
     98                 break;
     99             case ITEM:
    100                 convertView = flater.inflate(R.layout.activity_main, null);
    101                 TextView tv2 = (TextView) convertView.findViewById(R.id.tv1);
    102                 tv2.setText(item.get(position).get(DATE) + "");
    103 
    104                 break;
    105 
    106             default:
    107                 break;
    108             }
    109 
    110             return convertView;
    111         }
    112 
    113     }
    114 }

     运行效果:

  • 相关阅读:
    asp.net跳转页面的三种方法比较
    DotNet软件开发框架
    asp.net在ie7中使用FileUpload上传前预览图片
    uv贴图详解
    3d之 panda3d
    3dmax9中文版注册机
    flash player本地安全设置
    处理2D图像和纹理——扩展图像内容处理器
    处理2D图像和纹理——扩展图像内容处理器:灰度变换和处理器参数
    处理2D图像和纹理——将场景绘制到纹理
  • 原文地址:https://www.cnblogs.com/labixiaoxin/p/4969105.html
Copyright © 2011-2022 走看看