Browse Source

Fixed. Some message dissapear from list view as 'loading' and 'nothing in here...'

jabarros 10 years ago
parent
commit
18b45ff589

+ 7 - 1
src/com/owncloud/android/ui/fragment/ExtendedListFragment.java

@@ -76,12 +76,18 @@ implements OnItemClickListener, OnEnforceableRefreshListener {
     }
 
     public void setFooterView(View footer) {
-        // TODO find solution
         imageView.addFooterView(footer, null, false);
         imageView.invalidate();
     }
 
+    public void removeFooterView(View footer) {
+        imageView.removeFooterView(footer);
+        imageView.invalidate();
+    }
 
+    public int getFooterViewCount() {
+        return imageView.getFooterViewCount();
+    }
     
     protected void switchImageView(){
        imageView.setNumColumns(GridView.AUTO_FIT);

+ 12 - 0
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -29,6 +29,7 @@ import android.view.ContextMenu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.AdapterView;
 import android.widget.AdapterView.AdapterContextMenuInfo;
 import android.widget.TextView;
@@ -438,6 +439,17 @@ public class OCFileListFragment extends ExtendedListFragment {
         } else if (folders > 1) {
             output = output + folders.toString() + " " + getResources().getString(R.string.file_list_folders);
         }
+
+        // Fix for showing or not to show the footerView
+        if (folders == 0 && files == 0) {   // If no files or folders, remove footerView for allowing
+                                            // to show the emptyList message
+            removeFooterView(mFooterView);
+        } else { // set a new footerView if there is not one for showing the number or files/folders
+            if (getFooterViewCount()== 0) {
+                ((ViewGroup)mFooterView.getParent()).removeView(mFooterView);
+                setFooterView(mFooterView);
+            }
+        }
         
         return output;
     }