类似QQ好友分组栏
来源:互联网 发布:日语网络教育 编辑:程序博客网 时间:2024/04/30 06:21
package com.example.qq;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import android.app.Activity;import android.app.ListActivity;import android.content.Context;import android.content.Intent;import android.graphics.Color;import android.os.Bundle;import android.text.method.KeyListener;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.TextView;public class MainActivity extends ListActivity {private final int VIEW_TYPE_COUNT = 2;private final String DATA = "data";private final String TYPE = "type";private final int GROUP = -2;private final int ITEM = -3;private ArrayList<HashMap<String, Object>> items = null;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);ListView listView = this.getListView();ArrayAdapter adapter = new MyAdapter(this, -1);items = new ArrayList<HashMap<String, Object>>(); listView.setAdapter(adapter);String[] str = { "1月", "2月", "3月","4月","5月","6月","7月","8月","9月","10月","11月","12月" };int[] intt={31,28,31,30,31,30,31,31,30,31,30,31};int sum=0;for (int i = 0; i < str.length; i++) {HashMap<String, Object> group_map = new HashMap<String, Object>();group_map.put(TYPE, GROUP);group_map.put(DATA, str[i]);items.add(group_map);for (int j = 0; j < intt[i]; j++) {HashMap<String, Object> data_map = new HashMap<String, Object>();data_map.put(TYPE, ITEM);data_map.put(DATA, j+1+"号");items.add(data_map);}}}private class MyAdapter extends ArrayAdapter {private LayoutInflater inflater = null;public MyAdapter(Context context, int resource) {super(context, resource);inflater = LayoutInflater.from(context);}public int getCount() {return items.size();}@Overridepublic Object getItem(int position) {HashMap<String, Object> map = items.get(position);return map.get(DATA);}// 返回的id可以自己定制。@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {int type = getItemViewType(position);// 根据不同的view type加载不同的布局文件。switch (type) {case GROUP:convertView = inflater.inflate(android.R.layout.simple_list_item_2, null);TextView tv1 = (TextView) convertView.findViewById(android.R.id.text1);tv1.setText("2015年");tv1.setBackgroundColor(Color.RED);TextView tv2 = (TextView) convertView.findViewById(android.R.id.text2);tv2.setText(getItem(position) + "");tv2.setBackgroundColor(Color.GRAY);break;case ITEM:convertView = inflater.inflate(android.R.layout.simple_list_item_1, null);TextView tv = (TextView) convertView.findViewById(android.R.id.text1);tv.setText(getItem(position) + "");tv.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {}});break;}return convertView;}// 解析view type。// view type值是我们事先埋入到items数据集中的字段值。// 注意!此处返回的值不要大于getViewTypeCount()的返回值。@Overridepublic int getItemViewType(int position) {HashMap<String, Object> map = items.get(position);return (Integer) map.get(TYPE);}// 在本例中共计有2个不同类型的view// android.R.layout.simple_list_item_1 和// android.R.layout.simple_list_item_1.@Overridepublic int getViewTypeCount() {return VIEW_TYPE_COUNT;}}}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.qq.MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /></RelativeLayout>
0 0
- 类似QQ好友分组栏
- 类似qq分组栏-动态分组
- 通讯录的原型实现(二)- 类似QQ好友列表实现,分组名悬浮在最顶部
- Qt自定义控件1:可拖拽排序表格(类似QQ好友分组排序)
- QQ 添加分组 添加好友
- 猜想 QQ好友分组 (微信好友)多层次分组策略 QQ好友过多
- 用ExpandableListView实现类似QQ好友列表
- 用ExpandableListView实现类似QQ好友列表
- 用ExpandableListView实现类似QQ好友列表
- 用ExpandableListView实现类似QQ好友列表
- 自定义UITableViewCell,实现类似QQ好友列表
- 用ExpandableListView实现类似QQ好友列表
- 用ExpandableListView实现类似QQ好友列表
- ExpandableListView的用法(类似QQ好友展示)
- Qt实现类似QQ好友列表
- 类似QQ的好友移动功能
- Android之实现QQ好友分组(ExpandableListView)
- Android之实现QQ好友分组(ExpandableListView)
- Android Studio 工程依赖问题
- 10022---JavaScript--DOM HTML与CSS
- JavaScript——如何构建自己的JS库?
- 10 Deep Learning Trends at NIPS 2015
- Laravel 5.1 事件、事件监听的简单应用
- 类似QQ好友分组栏
- AsyncTask
- 天气预报简单接口的实现
- MSSQL:查看所有触发器信息的命令
- ArcGIS教程:成本回溯链接 (空间分析)
- 图学java基础篇之集合
- mount and fstab的使用(整理)
- JAVA设计模式之:单例模式
- Stanford机器学习课程(Andrew Ng) Week 1 Model and Cost Function --- 第二节 Cost Function