博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

014、ListActivity

Posted on 2013-09-27 21:36  mz_zyh  阅读(187)  评论(0编辑  收藏  举报
ListActivity相对于Activity,可以实现以下方法:
getListAdapter() 取得目前列表项目的Adapter
getListView() 取得目前列表的View
getSelectedItemId() 取的 目前Keypad所选择的Item索引值
getSelectedItemPosition() 取的目前Keypad所选择的Item索引值
onContentChanged() ListActivity列表内容更动事件
onListItemClick(ListView,View,int,long) User在列表项目单击触发事件
onRestoreInstanceState(Bundle) 当还原至此实例状态事件
setListAdapter(ListAdapter) 设置ListActivity的列表项目
setSelection(int) 设置所选择项目
 
 
ListActivity默认并不一定要像继承Activity一样,必须使用setContentView来布局Layout才能显示页面
 
在ListActivity里面添加菜单按钮:
主要通过两个方法:
onCreateOptionsMenu(Menu menu)创建
onOptionsItemSelected(MenuItem item)监听
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // TODO Auto-generated method stub
        menu.add(0, MENU_LIST1, Menu.NONE, R.string.str_menu_list1);
        menu.add(0, MENU_LIST2, Menu.NONE + 1, R.string.str_menu_list2);
        return super.onCreateOptionsMenu(menu);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        switch (item.getItemId()) {
        case MENU_LIST1:
            strs = new String[] { getString(R.string.str_list1),
                    getString(R.string.str_list2),
                    getString(R.string.str_list3),
                    getString(R.string.str_list4) };
            adapter = new ArrayAdapter<String>(this, R.layout.activity_main,
                    strs);
            this.setListAdapter(adapter);
            break;
        case MENU_LIST2:
            strs = new String[] { getString(R.string.str_list5),
                    getString(R.string.str_list6),
                    getString(R.string.str_list7),
                    getString(R.string.str_list8) };
            adapter = new ArrayAdapter<String>(this, R.layout.activity_main,
                    strs);
            this.setListAdapter(adapter);
            break;
        }
        return super.onOptionsItemSelected(item);
    }