android:layout_weight="1"
android:orientation="vertical" >
- <com.owncloud.android.ui.ExtendedListView
- android:id="@+id/list_root"
+ <android.support.v4.widget.SwipeRefreshLayout
+ android:id="@+id/swipe_refresh_files"
android:layout_width="match_parent"
- android:layout_height="0dip"
- android:layout_weight="1"
- />
-
+ android:layout_height="match_parent" >
+
+ <com.owncloud.android.ui.ExtendedListView
+ android:id="@+id/list_root"
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1" />
+
+ </android.support.v4.widget.SwipeRefreshLayout>
+
<TextView
android:id="@+id/empty_list_view"
android:layout_width="match_parent"
import android.os.Bundle;
+import android.support.v4.widget.SwipeRefreshLayout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* TODO extending SherlockListFragment instead of SherlockFragment
*/
-public class ExtendedListFragment extends SherlockFragment implements OnItemClickListener {
+public class ExtendedListFragment extends SherlockFragment implements OnItemClickListener, SwipeRefreshLayout.OnRefreshListener{
private static final String TAG = ExtendedListFragment.class.getSimpleName();
protected ExtendedListView mList;
+ private SwipeRefreshLayout mRefreshLayout;
+
public void setListAdapter(ListAdapter listAdapter) {
mList.setAdapter(listAdapter);
mList.invalidate();
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log_OC.e(TAG, "onCreateView");
//mList = new ExtendedListView(getActivity());
+
View v = inflater.inflate(R.layout.list_fragment, null);
mList = (ExtendedListView)(v.findViewById(R.id.list_root));
mList.setOnItemClickListener(this);
setReferencePosition(referencePosition);
}
+ // Pull down refresh
+ mRefreshLayout = (SwipeRefreshLayout) v.findViewById(R.id.swipe_refresh_files);
+ mRefreshLayout.setColorScheme(R.color.refresh_color_start,
+ R.color.refresh_color_middle_1,
+ R.color.refresh_color_middle_2,
+ R.color.refresh_color_end);
+ mRefreshLayout.setOnRefreshListener(this);
+
return v;
}
// to be @overriden
}
+ @Override
+ public void onRefresh() {
+ // to be @overriden
+
+ }
+
+ /**
+ * Enables swipe gesture
+ */
+ public void enableSwipe() {
+ mRefreshLayout.setEnabled(true);
+ }
+
+ /**
+ * Disables swipe gesture. It prevents manual gestures but keeps the option you show
+ * refreshing programmatically.
+ */
+ public void disableSwipe() {
+ mRefreshLayout.setEnabled(false);
+ }
+
+ /**
+ * It shows the SwipeRefreshLayout progress
+ */
+ public void showSwipeProgress() {
+ mRefreshLayout.setRefreshing(true);
+ }
+
+ /**
+ * It shows the SwipeRefreshLayout progress
+ */
+ public void hideSwipeProgress() {
+ mRefreshLayout.setRefreshing(false);
+ }
+
}