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); }