关于LauncherActivity及ExpandaleListActivity的简单实现.doc_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3491 | 回复: 0   主题: 关于LauncherActivity及ExpandaleListActivity的简单实现.doc        下一篇 
java_along
注册用户
等级:上尉
经验:771
发帖:36
精华:0
注册:2014-2-17
状态:离线
发送短消息息给java_along 加好友    发送短消息息给java_along 发消息
发表于: IP:您无权察看 2014-8-3 20:42:15 | [全部帖] [楼主帖] 楼主

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



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论