LauncherActivity简单用法
@SuppressWarnings("rawtypes")
Class[] cls=new Class[]{Activity01.class,Activity02.class,Activity03.class};
@Override
protected Intent intentForPosition(int position) {
Intent intent=new Intent(this,cls[position]);
return intent;
}
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String[]{"刘备","关羽","张飞"});
setListAdapter(adapter);
}
继承LauncherActivity 实现onCreate,及intentForPosition。
onCreate不多介绍。
intentForPosition 就是返回你点击每个条目后希望跳转的Intent对象。
如上代码,我定义了个Class[],当点击不同的条目,跳转到不同的Activity.
从界面不难看出,其实LauncherActivity就是继承了ListActivity.
这里,简单定义个ArrayAdapter。
当然,使用SimpleAdapter,或者继承BaseAdapter,都是可以的。
ExpandableListActivity 简单用法
显示简单效果图,可折叠:
实现:
List<String> lists1=new ArrayList<String>();
List<List<String>> lists2=new ArrayList<List<String>>();
public void initContent(){
lists1.add("刘备");
lists1.add("关羽");
lists1.add("张飞");
List<String> list1=new ArrayList<String>();
List<String> list2=new ArrayList<String>();
List<String> list3=new ArrayList<String>();
list1.add("刘婵");
list1.add("刘封");
list2.add("关平");
list2.add("周仓");
list3.add("张苞");
list3.add("星彩");
lists2.add(list1);
lists2.add(list2);
lists2.add(list3);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initContent();
ExpandableListAdapter adapter=new ExpandableListAdapter() {
@Override
public void unregisterDataSetObserver(DataSetObserver arg0) {
}
@Override
public void registerDataSetObserver(DataSetObserver arg0) {
}
@Override
public void onGroupExpanded(int arg0) {
}
@Override
public void onGroupCollapsed(int arg0) {
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public boolean isChildSelectable(int arg0, int arg1) {
return true;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public View getGroupView(int arg0, boolean arg1, View arg2, ViewGroup arg3) {
TextView textview=new TextView(Activity07.this);
textview.setText(lists1.get(arg0));
return textview;
}
@Override
public long getGroupId(int arg0) {
return arg0;
}
@Override
public int getGroupCount() {
return lists1.size();
}
@Override
public Object getGroup(int arg0) {
return lists1.get(arg0);
}
@Override
public long getCombinedGroupId(long arg0) {
return 0;
}
@Override
public long getCombinedChildId(long arg0, long arg1) {
return 0;
}
@Override
public int getChildrenCount(int arg0) {
return lists2.get(arg0).size();
}
@Override
public View getChildView(int arg0, int arg1, boolean arg2, View arg3,
ViewGroup arg4) {
TextView textview=new TextView(Activity07.this);
textview.setText(lists2.get(arg0).get(arg1));
return textview;
}
@Override
public long getChildId(int arg0, int arg1) {
return arg1;
}
@Override
public Object getChild(int arg0, int arg1) {
return lists2.get(arg0).get(arg1);
}
@Override
public boolean areAllItemsEnabled() {
return true;
}
};
setListAdapter(adapter);
//去掉左边箭头
getExpandableListView().setGroupIndicator(null);
}
别看代码这么多,其实主要的就2点,1准备好数据,2实现adapter。
数据很简单,自己设计下就可以。
实现ExpandaleListAdapter,有很多实现方法,重要的有2个,就是getChildView,getGroupView
自己可以在这里定义界面,返回的是自己设计好的界面。你可以先在外面用xml设计好界面,也可以用代码设计。我这边实现比较简单,直接就是textview。
该贴被java_along编辑于2014-8-3 20:44:06