- 浏览: 625951 次
文章分类
最新评论
-
q781253433:
qin ~.求demo看看~
Android之Widget -
zhongyuanceshi:
博主,没看到你的例子的Demo,共享下
Android之Widget
package com.quding.listview;
import android.app.Activity;
import android.database.DataSetObserver;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
/**
* 数据:一维或二维数组 == 定义adapter == 为listview添加adapter
*/
public class ListViewActivity extends Activity {
private String[][] child = {
{ "11111", "22222", "33333", "44444", "55555" },
{ "11111", "22222", "33333", "44444", "55555" },
{ "11111", "22222", "33333", "44444", "55555" },
{ "11111", "22222", "33333", "44444", "55555" } };
private String group[] = { "group1", "group2", "group3", "group4", };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ExpandableListView mExpandableListView = (ExpandableListView) findViewById(R.id.eapandable_listview);
mExpandableListView.setBackgroundColor(Color.LTGRAY);
// // 头和尾
// TextView text1 = new TextView(getApplicationContext());
// text1.setText("first1");
// mListView.addHeaderView(text1);
// TextView text3 = new TextView(getApplicationContext());
// text3.setText("first2");
// mListView.addHeaderView(text3);
//
// TextView text2 = new TextView(getApplicationContext());
// text2.setText("end");
// mListView.addFooterView(text2);
mExpandableListView.setAdapter(new ExpandableListAdapter() {
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
@Override
public void registerDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
@Override
public void onGroupExpanded(int groupPosition) {
// TODO Auto-generated method stub
}
@Override
public void onGroupCollapsed(int groupPosition) {
// TODO Auto-generated method stub
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
TextView mTextView = new TextView(getApplicationContext());
mTextView.setText(group[groupPosition]);
mTextView.setTextColor(Color.RED);
mTextView.setPadding(40, 0, 0, 0);
mTextView.setTextSize(20);
return mTextView;
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public int getGroupCount() {
return group.length;
}
@Override
public Object getGroup(int groupPosition) {
return group[groupPosition];
}
@Override
public long getCombinedGroupId(long groupId) {
return 0;
}
@Override
public long getCombinedChildId(long groupId, long childId) {
return 0;
}
@Override
public int getChildrenCount(int groupPosition) {
return child[0].length;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
TextView mTextView = new TextView(getApplicationContext());
mTextView.setText(child[groupPosition][childPosition]);
mTextView.setTextColor(Color.BLUE);
mTextView.setGravity(Gravity.CENTER);
mTextView.setTextSize(15);
return mTextView;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return child[groupPosition][childPosition];
}
@Override
public boolean areAllItemsEnabled() {
return true;
}
});
}
}
发表评论
-
Android之Fastboot、Recovery基础知识
2013-12-19 22:13 1078参考文章: http://blog.csdn.net/y9 ... -
Eclipse设置主题
2013-10-26 22:32 698下载自己喜欢的主题: http://eclipsec ... -
gitignore文件的配置
2013-09-24 15:29 1730gitignore文件在Android ... -
Eclipse安装Git插件
2013-09-24 14:20 804http://jiangli.easymorse.com/?p ... -
Eclipse像Xcode一样自动有提示
2013-09-05 17:04 12201. 打开Eclipse,然后打开“Preferences ... -
点九PNG技术
2013-04-16 13:26 886参考文章: http://blog.csdn.net/g ... -
Android ASE 脚本环境
2013-04-10 12:32 1187原文: http://blog.sina.com.cn/ ... -
android 按两次返回键退出
2012-12-25 20:01 1320package com.anjoyo.test; ... -
android混淆代码总结
2012-12-19 18:02 1523反编译工具下载地址:http://ishare.iask.si ... -
System.out.printf输出格式
2012-12-13 22:01 2527// 定义一些变量,用来格式化输出。 double ... -
Regex正则表达式的使用
2012-12-09 20:20 1830正则表达式是用来描述某些字符串规则的工具,可以用此规则来做 ... -
IOS&Android开发 使用特殊字体,使用自定义字体
2012-11-24 00:16 1570IOS开发: 原文链接:http://tieba.baidu ... -
AspectJ的安装和Eclipse的AJDT插件的配置
2012-11-19 15:21 4960安装AspectJ是为了正常使用软件MonkeyTalk 1 ... -
Mac配置android开发环境
2012-11-13 16:18 48一.Eclipse的下载 到网站:http ... -
RelativeLayout相关属性
2012-11-13 14:49 962android:layout_centerInP ... -
Android资源文件
2012-11-04 15:22 992res [res中共有10种文 ... -
activity的启动方式(launch mode)
2012-11-04 15:14 866其他很详细的参考:http://blog.csdn.net/b ... -
android分享功能的实现(分享到微博空间等)
2012-11-03 22:15 2210//Intent intent = new Inten ... -
Android开发环境配置
2012-11-03 20:04 8821、JDK安装: http://jing ... -
android intent和intent action大全
2012-09-13 20:25 1059android 中intent是经常要用到的。不管是页面 ...
相关推荐
`ExpandableListAdapter`需要重写一些关键方法,如`getGroupCount()`、`getChildrenCount(int groupPosition)`、`getGroup(int groupPosition)`和`getChild(int groupPosition, int childPosition)`,来定义组和子项...
本教程将详细讲解如何使用`ExpandableListAdapter`、`Spinner`和`CheckBox`来实现这样一个功能丰富的交互式菜单。 `ExpandableListAdapter`是Android提供的一个适配器,专门用于处理可展开/折叠的列表视图,即...
通过`setGroupIndicator`方法可以自定义展开和折叠的图标,同时,可以使用`smoothScrollToPosition`方法平滑滚动到特定位置。 7. **性能优化**:对于大量数据,使用`ViewHolder`模式可以显著提高滚动性能。`...
下面我们将深入探讨`ExpandableListView`的使用方法及其相关知识点。 首先,我们要理解`ExpandableListView`的基本结构。它由两部分组成:分组(Group)和子项(Child)。分组是可以展开和折叠的条目,而子项是属于...
本教程将深入探讨`ExpandableListView`的使用方法,包括如何创建、填充数据,以及实现交互功能。 首先,`ExpandableListView`是一个可扩展的列表视图,它可以显示一组可展开或折叠的子列表。每个父项(Group)可以...
适配器需要根据City和InnerCity的结构进行定制,实现`ExpandableListAdapter`的接口方法,如`getGroupCount`,`getChildCount`,`getGroupView`和`getChildView`等。 最后,别忘了在Activity或Fragment中启动异步...
使用`ExpandableListView`的`setAdapter()`方法,传入自定义的`ExpandableListAdapter`实例,完成数据与视图的绑定。 7. **设置默认状态**: 可以通过`expandGroup()`和`collapseGroup()`方法来控制列表的默认...
在本篇文章中,我们将深入探讨`ExpandableListView`的使用方法,以及如何通过源码理解和定制它。 首先,`ExpandableListView`是基于`ListView`进行扩展的,继承了`AdapterView`类。它需要一个`...
通常,我们可以使用自定义的类来存储这些数据,然后将它们转换为`ExpandableListAdapter`能理解的数据格式。`ExpandableListAdapter`是`ExpandableListView`的适配器,它负责将数据绑定到视图上。 ### 三、适配器`...
`ExpandableListAdapter`继承自`BaseExpandableListAdapter`,需要重写其若干方法,如`getGroupCount()`、`getChildrenCount()`、`getGroupView()`和`getChildView()`等,以提供必要的视图和数据。 `getGroupCount...
在`Activity`的`onCreate()`方法中,实例化`ExpandableListView`和`ExpandableListAdapter`,并将其绑定。 ```java public class MainActivity extends AppCompatActivity { ExpandableListView ...
在Android开发中,`ExpandableListView`是一种常用的控件,它允许我们展示具有层次结构的数据,...通过分析这个项目的源代码,我们可以深入理解`ExpandableListView`的工作原理和使用方法,进一步提升Android开发能力。
在Android开发中,ExpandableListView是一种非常常用的控件,它允许我们展示具有层次...理解和掌握其使用方法对于提升应用程序的用户体验至关重要。通过实践和不断探索,开发者可以创建出更加复杂和动态的菜单系统。
在ExpandableListDemo中,我们可以看到如何实现自定义的ExpandableListAdapter,这通常包括两个关键方法:`getGroupCount()` 和 `getChildrenCount()`,分别返回父组的数量和每个父组的子项数量。 接着,源码中的`...
在本文中,我们将详细探讨ExpandableListView的工作原理、使用方法以及源码解析。 首先,ExpandableListView是ListView的一个扩展,它增加了层次结构。每个条目(group)可以展开或折叠,显示隐藏在其下的子条目...
在Android中,你需要创建一个ExpandableListAdapter来填充数据,并重写其相关的方法,如getGroupCount(), getChildrenCount(), getGroupView(), getChildView()等,以便自定义显示样式。 接着,GridView则是一个...
在Android中,我们可以使用Adapter来绑定数据到ExpandableListView,这个Adapter是ExpandableListAdapter,它比普通的ListAdapter增加了处理父条目和子条目的逻辑。 1. **创建数据模型**: - 定义一个父类数据模型...
ExpendableListView是Android平台上的一个...通过学习和分析这些代码,开发者可以更好地理解和掌握ExpendableListView的使用方法。记得在实际项目中,根据需求对示例进行适当的修改和优化,以满足具体的需求和设计。
在本文中,我们将深入探讨`ExpandableListView`的使用方法,包括如何设置二级列表的展示、自定义样式以及相关的编程技巧。 1. **基本使用** 在Android项目中使用`ExpandableListView`,首先需要在布局XML文件中...
使用`ExpandableListAdapter`作为适配器,需要实现`BaseExpandableListAdapter`接口。以下是一个简单的例子: ```java public class MyExpandableListAdapter extends BaseExpandableListAdapter { private ...