Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Krik_o_pomoshi
1 / 1 / 0
Регистрация: 24.02.2014
Сообщений: 28
1

Как сделать переход в подпапки в файловом менеджере?

02.03.2018, 00:57. Просмотров 386. Ответов 1

Пишу файловый менеджер под Андроид. Изначальная задача состоит в том, чтобы открывалось активити, демонстрирующее список папок на SD-карте, это у меня получилось сделать. Приложение открывает список папок на SD-карте, но не открывает сами папки.
Как сделать возможным переход в папки?
Прикрепляю код ниже:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
public class MainActivity extends Activity  {
    private ListView mListView;
    private List<String> fileNameList;
    private FlAdapter mAdapter;
    private File file;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mListView = (ListView) findViewById(R.id.listView1);
        file = Environment.getExternalStorageDirectory();
        fileNameList = getFileListfromSDCard();
        mAdapter = new FlAdapter(this, R.layout.list_item, fileNameList);
        mListView.setAdapter(mAdapter);
    }
 
    private List<String> getFileListfromSDCard() {
        String state = Environment.getExternalStorageState();
        List<String> flLst = new ArrayList<String>();
        if (Environment.MEDIA_MOUNTED.equals(state) && file.isDirectory()) {
            File[] fileArr = file.listFiles();
            int length = fileArr.length;
            for (int i = 0; i < length; i++) {
                File f = fileArr[i];
                flLst.add(f.getName());
            }
        }
        return flLst;
    }
 
    public class FlAdapter extends ArrayAdapter<String> {
        private List<String> fLst;
        private Context adapContext;
 
        public FlAdapter(Context context, int textViewResourceId,
                         List<String> fLst) {
            super(context, textViewResourceId, fLst);
            this.fLst = fLst;
            adapContext = context;
        }
 
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = convertView;
            FHolder fHolder = null;
 
            if (convertView == null) {
                view = View.inflate(adapContext, R.layout.list_item, null);
 
                fHolder = new FHolder();
                fHolder.fNameView = (TextView) view.findViewById(R.id.fname);
 
                view.setTag(fHolder);
            } else {
                fHolder = (FHolder) view.getTag();
            }
            String fileName = fLst.get(position);
            fHolder.fNameView.setText(fileName);
 
            return view;
        }
    }
 
    static class FHolder {
        public TextView fNameView;
    }
}
Добавлено через 20 минут
activity_main.xml
XML
1
2
3
4
5
6
7
8
9
10
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
 
    <ListView
        android:id="@+id/listView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
 
</RelativeLayout>
list_item.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
 
    <TextView
        android:id="@+id/fname"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />
 
</RelativeLayout>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2018, 00:57
Ответы с готовыми решениями:

Переход по папкам, в файловом менеджере, методом GET
Как сделать, что бы переход по папкам, был с помощью метода GET? Я никак понять не могу. &lt;?php...

Как в файловом менеджере в listview удалять, копировать и вставлять файлы
Как мне в файловом менеджере в listview удалять файлы, копировать и вставлять файлы? opendialog,...

Как вернуться на один уровень вверх в дереве каталогов в файловом менеджере
Здравствуйте! Вопрос: Работаю я значит с файлами и папками делаю Аля тотал камандера подобию и...

Фильтрация выводимого в файловом менеджере
Есть простой файловый менеджер . Как сделать , чтобы в левом tree , выводились только диски и папки...

Алгоритм работы с каталогами в файловом менеджере
Народ. помогите пожалуйста. Нужно описать алгоритм работы с каталогами в файловом менеджере....

1
Alex_Fedor
42 / 42 / 5
Регистрация: 20.01.2015
Сообщений: 279
04.03.2018, 19:02 2
Цитата Сообщение от Krik_o_pomoshi Посмотреть сообщение
Как сделать возможным переход в папки?
Я так сделал.
0
Вложения
Тип файла: zip myfileexplorer.zip (7.7 Кб, 2 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2018, 19:02

Нужно организовать поиск в файловом менеджере
Пишу прогу для работы с файлами при помощи ShellTreeView и ShellListView. Помогите организовать...

Не отображается подпапки в папке на файловом сервере
У двух пользаков периодически (не постоянно) не отображаются подпапки в папке на файловом сервере....

Переименование в файловом менеджере через контекстное меню
Доброго времени суток. У меня есть файловый менеджер, есть контекстное меню. Не могу прописать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru