`

ExpandListView自动更新(以前发到eoe,现在整理下)

阅读更多
1.直接上界面代码:
package com.example;

import java.util.Timer;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnGroupClickListener;

public class ExpandableListView1 extends Activity implements
		OnGroupClickListener {

	private MyAdapter adapter;
	private ExpandableListView expandableList;
	private Timer timer_m;
	private Handler mRedrawHandler = new Handler();

	/** Called when the activity is first created. */
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);

		adapter = new MyAdapter(this);

		expandableList = (ExpandableListView) findViewById(R.id.list);
		// expandableList.setBackgroundDrawable(R.drawable.icon);
		expandableList.setAdapter(adapter);
		expandableList.setGroupIndicator(null);
		expandableList.setDivider(null);
		expandableList.setOnGroupClickListener(this);

		timer_m = new Timer();
		timer_m.schedule(new MyTask2(), 5000, 10000);

	}

	class MyTask2 extends java.util.TimerTask {
		public void run() {
			adapter.children[2][0] = "seven";
			Runnable updater = new Runnable() {
				public void run() {
					adapter.notifyDataSetChanged();
				}
			};
			mRedrawHandler.post(updater);
			timer_m.cancel();
		}
	}

	public boolean onGroupClick(ExpandableListView parent, View v,
			int groupPosition, long id) {
		// TODO Auto-generated method stub
		Log.i("", "parent.getId() =" + parent.getId());
		switch (parent.getId()) {
		case R.id.list:
			Log.i("", "groupPosition =" + groupPosition);
			break;
		default:
			break;
		}
		return false;
	}
}


2.适配器:
package com.example;

import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseExpandableListAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class MyAdapter extends BaseExpandableListAdapter {
	private ExpandableListView1 GOS;

	public MyAdapter(ExpandableListView1 _GOS) {
		super();
		GOS = _GOS;
		children[0][0] = "111111";
		children[0][1] = "222222";
		children[1][0] = "333333";
		children[1][1] = "444444";
		children[2][0] = "555555";
		children[2][1] = "666666";
	}

	private int[] groups = { R.drawable.zgxq, R.drawable.wzq, R.drawable.ddz };
	public String[][] children = new String[3][2];

	// **************************************
	public View getGroupView(int groupPosition, boolean isExpanded,
			View convertView, ViewGroup parent) {
		ImageView view = getGenericView(groupPosition);
		return view;
	}

	public ImageView getGenericView(int pos) {
		// Layout parameters for the ExpandableListView
		AbsListView.LayoutParams lp = new AbsListView.LayoutParams(
				ViewGroup.LayoutParams.WRAP_CONTENT, 30);
		ImageView view = new ImageView(GOS);
		view.setLayoutParams(lp);
		// Center the text vertically
		if (pos == 0) {
			view.setImageResource(R.drawable.zgxq);
		}
		if (pos == 1) {
			view.setImageResource(R.drawable.wzq);
		}
		if (pos == 2) {
			view.setImageResource(R.drawable.ddz);
		}
		// Set the text starting position
		view.setPadding(0, 5, 0, 0);
		return view;
	}

	public long getGroupId(int groupPosition) {
		return groupPosition;
	}

	public Object getGroup(int groupPosition) {
		Log.i("", "getGroup =" + groupPosition);
		return groups[groupPosition];
	}

	public int getGroupCount() {
		return groups.length;
	}

	public View getChildView(int groupPosition, int childPosition,
			boolean isLastChild, View convertView, ViewGroup parent) {
		TextView view = getChildTextView(groupPosition, childPosition);
		return view;
	}

	public TextView getChildTextView(int gos, int cos) {
		TextView view = new TextView(GOS);
		view.setText(children[gos][cos]);
		return view;
	}

	public long getChildId(int groupPosition, int childPosition) {
		return childPosition;
	}

	public Object getChild(int groupPosition, int childPosition) {
		return children[groupPosition][childPosition];
	}

	public int getChildrenCount(int groupPosition) {
		return children[groupPosition].length;
	}

	public boolean hasStableIds() {
		return true;
	}

	public boolean isChildSelectable(int groupPosition, int childPosition) {
		return true;
	}

}
分享到:
评论

相关推荐

    自动化EOE IBIS-AMI建模提案

    本文提出的自动化EOE IBIS-AMI建模提案旨在通过EOE设备的实际测量数据,自动生成中继器模型。这种方法有望提高模型的精度和效率,减少手动建模时可能出现的错误,并加速产品开发进程。通过结合电气和光学测量,模型...

    eoe客户端源代码

    eoe 客户端,注释详细,代码经典,具有一定的参考价值 以eclipse为例 启动Eclipse,导入Android客户端项目,请确保你当前的Android SDK是最新版。 如果编译出错,请修改项目根目录下的 project.properties 文件。 ...

    eoe网站 Android 客户端 源码

    【标题】"eoe网站 Android 客户端 源码"所涵盖的知识点主要集中在Android应用程序开发领域,特别是客户端应用程序的设计与实现。eoe是一个知名的Android开发者社区,它的客户端源码提供了丰富的学习资源,可以帮助...

    eoe客户端源码(包含注释)

    《深入解析eoe客户端源码:为Android学习者打开新视野》 在移动开发领域,Android作为主流操作系统之一,其应用程序的开发与优化一直是开发者关注的焦点。本篇将聚焦于"eoe客户端源码",这是一个专为Android平台...

    eoe特刊文档全集

    此外,可能还涉及到版本控制、自动化构建、调试技巧等方面,帮助开发者更好地管理项目并解决日常开发中的问题。 2. 架构解析:特刊可能会详细讲解不同类型的Android应用架构,如MVP(Model-View-Presenter)、MVVM...

    eoe特刊,android开发

    eoe特刊,android开发

    eoe开源客户端

    通过深入研究"eoe开源客户端"的源代码,开发者不仅能提升技术能力,还能了解到软件工程的最佳实践,包括代码结构、模块化设计、代码复用原则以及如何遵循良好的编程习惯。同时,参与开源项目也是提升个人影响力、...

    android(eoe特刊)

    【Android(eoe特刊)】是一系列专门针对Android新手开发者的技术特刊,涵盖了从基础到进阶的各种主题。这些特刊由eoe社区发布,旨在帮助开发者解决在开发过程中可能遇到的问题,提升技能水平。 首先,让我们逐一解析...

    eoe社区客户端.zip

    《Android源码学习——以eoe社区客户端为例》 在移动开发领域,Android系统占据了重要的地位,而深入理解Android源码对于开发者来说是一项至关重要的技能。eoe社区客户端作为一个流行的Android应用,其源码提供了...

    eoe论坛项目完整版

    【标题】"eoe论坛项目完整版"是一个针对Android开发者的实践项目,旨在提供一个可运行的、完整的源代码示例。这个项目是为初学者准备的,特别是那些正在探索自定义控件、ListView刷新等核心Android技术的人。EOE...

    [开源]eoe的Android客户端源码

    [开源]eoe的Android客户端源码 本项目采用 GPL 授权协议,欢迎大家在这个基础上进行改进,并与大家分享。 如您感觉本项目中有不妥之处或者有不爽的地方,欢迎提交问题或更改方案,项目小组会 及时的对您提交的修改...

    eoe社区的android客户端源码

    通过研究"eoe社区的android客户端源码",开发者不仅可以掌握Android开发的基础知识,还能了解到实际项目中的最佳实践。此外,源码中可能还包含了对新特性的尝试,如Android Jetpack组件的使用,或者是对性能、安全等...

    Android应用源码之EOE论坛客户端.rar

    【Android应用源码之EOE论坛客户端.rar】是一款开源的Android应用程序,主要目的是提供一个学习和参考的平台,帮助开发者了解Android应用的架构设计、功能实现以及编程技巧。EOE论坛是一个专注于移动开发的社区,这...

    Android代码-eoe 安卓客户端

    eoe社区 Android 客户端项目简析 注:本文假设你已经有Android开发环境 本文以eclipse为例 启动Eclipse,导入Android客户端项目,请确保你当前的Android SDK是最新版。 如果编译出错,请修改项目根目录下的 project....

    Android eoe社区客户端-IT计算机-毕业设计.zip

    《Android eoe社区客户端:深度解析与学习指南》 Android eoe社区客户端是针对学生毕业设计的一款源码Demo,它为学习者提供了丰富的实践素材,是深入理解Android应用开发的宝贵资源。本篇文章将深入探讨该客户端的...

    eoe客户端源码

    "eoe客户端源码"指的是EoeAndroid社区的Android App客户端的源代码。EoeAndroid是一个专注于Android开发者的交流平台,提供技术分享、资源下载、问答互助等服务。其客户端源码的公开对于开发者来说是一份宝贵的参考...

    android eoe cn app

    现在我们来详细分析"eoe_app"这个压缩包文件: 1. **项目结构**:通常,Android应用的源码包含多个模块,如主应用模块、库模块、测试模块等。"eoe_app"可能包含了这些模块的源代码,每个模块都有自己的目录结构,...

    eoe_sdk android

    同时,保持对SDK更新的关注,及时升级到最新版本,以获得最新的特性和性能优化。 总结,eoe_sdk是Android开发中的一款强大工具,它的易用性、灵活性和全面的功能使其成为开发者的重要选择。通过深入了解和熟练运用...

    android eoe客户端源码

    《Android EOE客户端源码解析》 Android EOE客户端源码是开源社区中的一款应用程序,旨在为开发者提供一个学习和交流的平台。源码的开放性使得我们可以深入理解Android应用开发的各个环节,从架构设计到功能实现,...

Global site tag (gtag.js) - Google Analytics