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