public class MenuFragment extends Fragment {
private LinearLayout layout;
private ListView list;
ArrayList> data = new ArrayList>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
layout = (LinearLayout) inflater.inflate(R.layout.menu_layout,
container, false);
initView();
return layout;
}
private void initView() {
//简单的构建菜单实例
for (int i = 1; i <= 5; i++) {
HashMap map = new HashMap();
map.put("itemId", i);
map.put("itemText", "菜单"+i);
data.add(map);
}
list = (ListView) layout.findViewById(R.id.menu_list);
SimpleAdapter simperAdapter = new SimpleAdapter(getActivity(), data,
R.layout.item_menu, new String[] { "itemImage", "itemText" },
new int[] { R.id.menuitem_image, R.id.menuitem_text });
list.setAdapter(simperAdapter);
list.setSelector(R.drawable.menu_selector);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view,
int position, long id) {
if(getActivity() instanceof MainActivity) {
HashMap map = (HashMap) parent.getItemAtPosition(position);
int i = (Integer) map.get("itemId");
Fragment frag = getFragment(i);//获取对应页面的Fragment
((MainActivity) getActivity()).switchContent(frag);
}
}
});
}
public Fragment getFragment(int i) {
switch (i) {
case 1:
return new ContentFragmentOne();
case 2:
return new ContentFragmentTwo();
case 3:
return new ContentFragmentThree();
case 4:
return new ContentFragmentFour();
case 5:
return new ContentFragmentFive();
default:
return new ContentFragment();
}
}
}