Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class FileManagerActivity extends Activity {
- private ListView lvFileList;
- private FileListAdapter mAdapter;
- private File mCurFile;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_files);
- if (!Environment.getExternalStorageState().equals(
- Environment.MEDIA_MOUNTED)) {
- Toast.makeText(this, "Cannot read external storage, sorry",
- Toast.LENGTH_SHORT).show();
- finish();
- }
- File sd = Environment.getExternalStorageDirectory();
- mCurFile = sd;
- FileFilter filter = new FileFilter() {
- @Override
- public boolean accept(File pathname) {
- return pathname.isDirectory()
- || pathname.getName().endsWith(".mp3")
- || pathname.getName().endsWith(".MP3");
- }
- };
- File[] sdDirList = sd.listFiles(filter);
- lvFileList = (ListView) findViewById(R.id.lvFileList);
- mAdapter = new FileListAdapter(this, sdDirList);
- lvFileList.setAdapter(mAdapter);
- lvFileList.setOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view,
- int position, long id) {
- File file = mAdapter.getItem(position);
- if (file.isDirectory()) {
- mAdapter = new FileListAdapter(getApplicationContext(),
- file.listFiles());
- lvFileList.setAdapter(mAdapter);
- mCurFile = file;
- } else {
- Toast.makeText(getApplicationContext(),
- "Press \"Select this folder\"", Toast.LENGTH_SHORT)
- .show();
- }
- }
- });
- }
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.btnSelectFolder:
- SongsManager.get(this).setCurrentPlaylistFromFolder(mCurFile);
- setResult(RESULT_OK);
- finish();
- break;
- default:
- break;
- }
- }
- private class FileListAdapter extends ArrayAdapter<File> {
- private File[] mFiles;
- public FileListAdapter(Context context, File[] objects) {
- super(context, 0, objects);
- mFiles = objects;
- }
- @Override
- public File getItem(int position) {
- return mFiles[position];
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- if (convertView == null) {
- convertView = getLayoutInflater().inflate(
- R.layout.list_files_item, null, false);
- }
- File file = mFiles[position];
- ((TextView) convertView.findViewById(R.id.tvName)).setText(file
- .getName());
- int icon = file.isDirectory() ? R.drawable.ic_folder
- : R.drawable.ic_note;
- ((ImageView) convertView.findViewById(R.id.ivIcon))
- .setImageResource(icon);
- return convertView;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement