private void changeDirectory ( final File dir ) { if ( dir == null ) { debug ( "Could not change folder: dir was null" ) ; } else if ( ! dir . isDirectory ( ) ) { debug ( "Could not change folder: dir is no directory" ) ; } else { final File [ ] contents = dir . listFiles ( ) ; if ( contents != null ) { int numDirectories = 0 ; for ( final File f : contents ) { if ( f . isDirectory ( ) ) { numDirectories ++ ; } } mFilesInDir = new File [ numDirectories ] ; mFilenames . clear ( ) ; for ( int i = 0 , counter = 0 ; i < numDirectories ; counter ++ ) { if ( contents [ counter ] . isDirectory ( ) ) { mFilesInDir [ i ] = contents [ counter ] ; mFilenames . add ( contents [ counter ] . getName ( ) ) ; i ++ ; } } Arrays . sort ( mFilesInDir ) ; Collections . sort ( mFilenames ) ; mSelectedDir = dir ; mTxtvSelectedFolder . setText ( dir . getAbsolutePath ( ) ) ; mListDirectoriesAdapter . notifyDataSetChanged ( ) ; mFileObserver = createFileObserver ( dir . getAbsolutePath ( ) ) ; mFileObserver . startWatching ( ) ; debug ( "Changed directory to %s" , dir . getAbsolutePath ( ) ) ; } else { debug ( "Could not change folder: contents of dir were null" ) ; } } refreshButtonState ( ) ; }
Change the directory that is currently being displayed .