1 package com.koushikdutta.widgets;
3 import android.content.res.Configuration;
4 import android.os.Bundle;
5 import android.support.v4.app.Fragment;
6 import android.support.v4.app.FragmentTransaction;
7 import android.view.KeyEvent;
8 import android.view.LayoutInflater;
9 import android.view.View;
10 import android.view.ViewGroup;
11 import android.widget.ListView;
12 import android.widget.ViewSwitcher;
14 public class ListContentFragment extends BetterListFragment {
19 protected int getListHeaderResource() {
20 return R.layout.list_content_header;
23 private void setPadding() {
24 float hor = getResources().getDimension(R.dimen.activity_horizontal_margin);
25 float ver = getResources().getDimension(R.dimen.activity_vertical_margin);
26 getListView().setPadding(0, 0, 0, 0);
27 mContainer.setPadding((int)hor, (int)ver, (int)hor, (int)ver);
30 Fragment mCurrentContent;
33 protected void onCreate(Bundle savedInstanceState, View ret) {
34 mContent = (ViewGroup)ret.findViewById(R.id.content);
35 mContainer = (ViewGroup)ret.findViewById(R.id.list_content_container);
38 getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
40 super.onCreate(savedInstanceState, ret);
43 public boolean isPaged() {
44 return mContainer instanceof ViewSwitcher;
47 public void setContent(Fragment content, boolean clearChoices) {
48 Fragment last = mCurrentContent;
49 mCurrentContent = content;
50 FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
52 ft.replace(R.id.content, mCurrentContent);
54 ft.add(R.id.content, mCurrentContent);
55 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
56 if (mContainer instanceof ViewSwitcher) {
57 ViewSwitcher switcher = (ViewSwitcher)mContainer;
58 if (mContent != switcher.getCurrentView())
63 getListView().clearChoices();
66 public boolean onBackPressed() {
67 if (mCurrentContent == null)
69 if (mContainer instanceof ViewSwitcher) {
70 ((ViewSwitcher)mContainer).showPrevious();
71 FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
72 ft.remove(mCurrentContent);
74 mCurrentContent = null;
81 void onListItemClick(ListItem li) {
82 super.onListItemClick(li);
83 // if (mContentAdapter == null)
86 // setContent(mContentAdapter.getFragment(li, mCurrentContent));
90 protected int getListItemResource() {
91 return R.layout.list_item_selectable;
95 protected int getListFragmentResource() {
96 return R.layout.list_content;
99 public ViewGroup getContent() {
104 public void onConfigurationChanged(Configuration newConfig) {
105 super.onConfigurationChanged(newConfig);
109 // ListContentAdapter mContentAdapter;
110 // public ListContentAdapter getContentAdapter() {
111 // return mContentAdapter;
114 // public void setContentAdapter(ListContentAdapter adapter) {
115 // mContentAdapter = adapter;